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는 SchoolclassCodeMonday이 일명 SchoolclassCodes 유형의 ObservableCollection에의 한 속성입니다 TimeTable.cs에서 문자열 속성입니다 ClassCodes Schoolclass.cs에서 문자열 속성입니다 | Schoolclass |
제 바인딩을 수정하는 방법을 아는 사람이 있습니까?
는 기존의 코드를했다 : 나는 추가 아래 내가 콤보 상자를 떠날 때 지금 SchoolclassCode는 셀에 남아 있습니다. 일반적으로 SelectedValuePath에 ID를 사용하지만 내 "ID"는 이미 고유 한 SchoolclassCode입니다. SelectedValuePath = "SchoolclassName"그냥 나를 위해 작동 은 ... 나는 더 나은 설명이나 기술적 인 내부자 지식이없는하지만 당신은 나에게 조금 도움이 여기 읽을 수 있습니다 : HTTP : //blogs.msdn를 .com/b/vinsibal/archive/2008/10/31/wpf-datagrid-datagridcomboboxcolumn-v1-intro.aspx – msfanboy