DataGrid에 DataGridComboBoxColum이 있습니다. 셀을 한 번 클릭하고 콤보 상자를 드롭 다운 할 수 있기를 원합니다. 현재 나는 여러 번 클릭해야합니다.DataGridComboBoxColumn - 한 번의 클릭으로 자동 드롭
<DataGrid AutoGenerateColumns="False" Height="148" HorizontalAlignment="Left" Margin="48,85,0,0" Name ="dg_display" VerticalAlignment="Top" Width="645" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding}" SelectionChanged="DgDisplaySelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn IsReadOnly="True" Header="Symbol" Binding="{Binding Symbol}" />
<DataGridTextColumn IsReadOnly="True" Header="Company ID" Binding="{Binding CompanyID}" />
<DataGridComboBoxColumn IsReadOnly="False" Header="Sector" SelectedValueBinding="{Binding Sector}" DisplayMemberPath="{Binding [0]}" Visibility="Visible" >
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding SectorList}" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding SectorList}" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
</DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>
, 당신은'DataGrid'가 편집 모드로 전환해야합니까 즉이 BeginningEditEvent을 제기은? – XAMeLi
나는 시작된 사건을 결코 제기하지 않는다. 내가 할 필요가 있니? –
셀의 첫 번째 클릭은 셀에 포커스를 설정하고 (아마) (DataGrid의 SelectionMode에 따라) 선택합니다. 두 번째 클릭에는 EditingElement가 표시되고 BeginningEditEvent가 발생합니다 (DataGrid '). 그래서 당신이이 사건을 다루지 않는다는 것과 논리가'DataGrid'가 편집 모드 (IsEditingCurrentCell == true 또는 IsEditingRowItem == true)인지 여부에 의존하지 않는다는 것을 이해합니다. 맞습니까? – XAMeLi