WPF DataGrid-自定义组合框时出现问题
我有一个带有组合框绑定列的Datagrid,其工作原理如下:WPF DataGrid-自定义组合框时出现问题,wpf,datagrid,binding,combobox,Wpf,Datagrid,Binding,Combobox,我有一个带有组合框绑定列的Datagrid,其工作原理如下: <tk:DataGridComboBoxColumn SelectedValueBinding="{Binding DefaultLocationID}" SelectedValuePath="LocationID" DisplayMemberPath="LocationName" Header="Defaul
<tk:DataGridComboBoxColumn SelectedValueBinding="{Binding DefaultLocationID}"
SelectedValuePath="LocationID"
DisplayMemberPath="LocationName"
Header="Default Location"
ItemsSource="{Binding Source={StaticResource CustomerLocations}}">
</tk:DataGridComboBoxColumn>
最后,我想定制下拉列表,将“ID”和“Name”显示在一起,这样TemplateColumn似乎就是最好的选择。从小事做起,我无法使用下面的简单示例来替换标准DataGridComboxColumn。下拉列表看起来不错,但当我“选择”一个下拉项目时,它不接受并返回到上一个值。我尝试过“模式=双向”的变体,但没有成功。我需要“CellEditingTemplate”吗
DefaultLocationID是正在编辑的外键字段,而“LocationID”是“CustomerLocations”中的一列
<tk:DataGridTemplateColumn Header="Default Location">
<tk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox VerticalAlignment="Top"
SelectedItem="{Binding LocationID, Mode=TwoWay}"
SelectedValue="{Binding DefaultLocationID, Mode=TwoWay}"
ItemsSource="{Binding Source={StaticResource CustomerLocations}}"
SelectedValuePath="LocationID"
DisplayMemberPath="LocationName" >
</ComboBox>
</DataTemplate>
</tk:DataGridTemplateColumn.CellTemplate>
谢谢 您可以发布CustomerLocations资源的相关部分吗?您还可以发布网格绑定到的类的类型吗 尝试从组合框中删除SelectedValuePath、DisplayMemberPath和SelectedValue 如果要在组合框中显示多个数据段,请参见下面的XAML
<ComboBox ...>
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding LocationId}"} />
<TextBlock Text=" - "/>
<TextBlock Text="{Binding LocationName}"} />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>