Quando faccio clic su una cella nel mio DataGridComboBoxColumn il ComboBox diventa visibile e posso selezionare gli elementi. Quando ho selezionato un oggetto è visibile nella parte superiore che va bene. Ma quando la cella aka ComboBox perde il focus perché faccio clic su qualcosa di diverso in DataGrid, non c'è più nessun oggetto/testo visibile nella cella che ho selezionato in precedenza.DataGridComboBoxColumn perde il suo contenuto quando la selezione cambia
Come posso mantenere quella selezione/testo selezionato?
thats il mio codice:
<DataGridComboBoxColumn
Width="*"
Header="Monday"
DisplayMemberPath="SchoolclassName"
SelectedValueBinding="{Binding SchoolclassCodeMonday}"
ItemsSource="{Binding Source={StaticResource ClassCodes}}">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="IsSynchronizedWithCurrentItem" Value="False" />
<Setter Property="ItemsSource"
Value="{Binding Source={StaticResource ClassCodes}}" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource"
Value="{Binding Source={StaticResource ClassCodes}}" />
<Setter Property="IsDropDownOpen" Value="True" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
sembra esserci una soluzione per il mio problema: http://wpf.codeplex.com/Thread/View.aspx?ThreadId=46627 (scorrimento verso il basso), ma non riesco a trasferire la soluzione al mio problema. Perché la configurazione del mio modello è abbastanza diversa.
SchoolclassName è una proprietà stringa nel Schoolclass.cs SchoolclassCodeMonday è una proprietà stringa nel TimeTable.cs ClassCodes alias SchoolclassCodes è una proprietà di tipo ObservableCollection | Schoolclass |
Qualcuno sa come risolvere il binding?
@ sul ragazzo che ha votato uno DisplayMemberPath = "SchoolclassName" Quanto sopra è stato codice esistente: il seguito ho aggiunto e ora lo SchoolclassCode rimane nella cella quando lascio la casella combinata. Normalmente si utilizza un ID per SelectedValuePath ma il mio "ID" è SchoolClassCode che è già univoco. SelectedValuePath = "SchoolclassName" Semplicemente funziona per me ..., non ho una spiegazione migliore o conoscenza più tecnica privilegiate ma si può leggere qui che mi ha aiutato un po ': http: //blogs.msdn .com/b/vinsibal/archive/2008/10/31/WPF-datagrid-DataGridComboBoxColumn-V1-intro.aspx – msfanboy