當我單擊DataGridComboBoxColumn中的某個單元格時,ComboBox變得可見,我可以選擇項目。當我選擇一個項目時,它的頂部可見。但是,當單元格又名ComboBox失去了焦點時,因爲我在DataGrid中單擊了不同的東西,所以在之前選擇的單元格中沒有可見的項目/文本。當選擇發生變化時,DataGridComboBoxColumn會丟失其內容
如何保留該選擇/選定文本?
這就是我的代碼:
<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>
似乎是我的問題的解決方案:http://wpf.codeplex.com/Thread/View.aspx?ThreadId=46627(滾動至底部),但我不能將溶液轉移到我的問題。因爲我的模型設置完全不同。
SchoolclassName是Schoolclass.cs一個字符串屬性 SchoolclassCodeMonday是TimeTable.cs一個字符串屬性 ClassCodes又名SchoolclassCodes是類型的ObservableCollection的屬性| Schoolclass |
有人知道如何解決我的綁定?
@至誰投+1 的DisplayMemberPath =「SchoolclassName」 以上的傢伙現有代碼: 下面我說現在的SchoolclassCode當我離開組合框保留在細胞中。通常你使用一個ID作爲SelectedValuePath,但我的「ID」是已經唯一的SchoolclassCode。 SelectedValuePath =「SchoolclassName」 這只是對我的作品......,我沒有更好的解釋或更多的技術內幕知識,但你可以在這裏閱讀,幫助我一下: HTTP://blogs.msdn的.com/b/vinsibal /存檔/ 2008/10/31/WPF的數據網格-datagridcomboboxcolumn-V1-intro.aspx – msfanboy 2010-06-21 19:11:51