programing

WPF 데이터 그리드 행을 두 번 클릭 이벤트를 프로그래밍 방식으로

muds 2023. 4. 26. 23:48
반응형

WPF 데이터 그리드 행을 두 번 클릭 이벤트를 프로그래밍 방식으로

데이터 그리드를 프로그래밍 방식으로 생성하고 여기에 더블 클릭 행 이벤트를 추가해야 합니다.C#에서 이 작업은 어떻게 수행됩니까?이걸 찾았어요

myRow.MouseDoubleClick += new RoutedEventHandler(Row_DoubleClick);

비록 내가 구속력이 있기 때문에 이것은 나에게 효과가 없습니다.DataGrid.ItemsSource행에 수동으로 추가하지 않고 컬렉션에 추가할 수 있습니다.

리소스 섹션 아래에 DataGridRow의 기본 스타일을 추가하고 이벤트 설정자를 선언하면 XAML에서 이 작업을 수행할 수 있습니다.

<DataGrid>
    <DataGrid.Resources>
        <Style TargetType="DataGridRow">
            <EventSetter Event="MouseDoubleClick" Handler="Row_DoubleClick"/>
        </Style>
    </DataGrid.Resources>
</DataGrid>

OR

뒤에 있는 코드로 하고 싶을 때.세트x:Name그리드에서 스타일을 프로그래밍 방식으로 작성하고 스타일을 RowStyle로 설정합니다.

<DataGrid x:Name="dataGrid"/>

코드 뒤에 있습니다.

Style rowStyle = new Style(typeof(DataGridRow));
rowStyle.Setters.Add(new EventSetter(DataGridRow.MouseDoubleClickEvent,
                         new MouseButtonEventHandler(Row_DoubleClick)));
dataGrid.RowStyle = rowStyle;

그리고.

이벤트 핸들러의 예는 다음과 같습니다.

  private void Row_DoubleClick(object sender, MouseButtonEventArgs e)
  {
     DataGridRow row = sender as DataGridRow;
     // Some operations with this row
  }

언급URL : https://stackoverflow.com/questions/22790181/wpf-datagrid-row-double-click-event-programmatically

반응형