<DataGridTemplateColumn Header="Brand Code">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox IsEditable="True" Text="{Binding Path=BrandCode, Mode=OneWayToSource}" ItemsSource="{Binding Brands}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
上面的代码显示了列表,但是当我选择它没有分配给BrandCode的值时。
但如果我点击下一栏编辑,则该值将分配给BrandCode,
任何人都可以帮忙吗?
答案 0 :(得分:0)
请改为尝试:
<ComboBox IsEditable="True" SelectedItem="{Binding Path=BrandCode,
Mode=OneWayToSource}" ItemsSource="{Binding Brands}"/>
这取决于您的商品中的内容,但如果您的商品是某个类的实例并且您想要返回特定的属性值,那么您也可以尝试这样:
<ComboBox IsEditable="True" SelectedValue="{Binding Path=BrandCode,
Mode=OneWayToSource}" SelectedValuePath="NameOfPropertyToReturn"
ItemsSource="{Binding Brands}"/>
我刚刚测试过它肯定有用......如果它对你不起作用,你的代码中的其他地方就会出现问题:
<StackPanel>
<ComboBox ItemsSource="{Binding Brands}" SelectedItem="{Binding BrandCode}" />
<TextBlock Text="{Binding SelectedValue}" />
</StackPanel>
更新&gt;&gt;&gt;
在看到您的数据类的最新代码后,我可以看到您的问题...如何在不了解INotifyPropertyChanged
界面的情况下编写任何WPF?两者齐头并进。您的解决方案是在Data
课程中实现此界面。有关此问题,请参阅MDSN的INotifyPropertyChanged Interface页面。
请注意如果您首先向我们展示了所有代码,我们可以立即修复此问题。