私は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に依存します)。2番目のクリックはEditingElementを表示し、BeginningEditEventが発生したとき(' DataGrid ')。だから私はあなたがこのイベントを処理していないことを理解しています、あなたのロジックは 'DataGrid'が編集モード(IsEditingCurrentCell == trueかIsEditingRowItem == true)かどうかに依存しません。 – XAMeLi