Ho un DataGridComboBoxColum in un DataGrid. Vorrei poter fare clic sulla cella una volta e avere la casella combinata a discesa. Attualmente devo fare clic più volte.DataGridComboBoxColumn - Auto a discesa con un solo clic
<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>
Avete bisogno del 'DataGrid' per andare in modalità di modifica, vale a dire l'aumento del BeginningEditEvent? – XAMeLi
Non ho mai alzato l'inizio. Ho bisogno di? –
Il primo clic su una cella sta impostando lo stato attivo sulla cella e (forse) selezionandolo (dipende dal SelectionMode di 'DataGrid'), il secondo clic mostra l'EditingElement e il momento in cui viene generato BeginningEditEvent (dal' DataGrid '). Quindi capisco che non stai gestendo questo evento, né la tua logica dipende dal fatto che 'DataGrid' sia in modalità di modifica (vale a dire se IsEditingCurrentCell == true o IsEditingRowItem == true), giusto? – XAMeLi