0
<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 的值,

有人可以帮忙吗?

4

1 回答 1

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>

更新>>>

在看到您的数据类的最新代码后,我可以看到您的问题......您如何能够在不了解INotifyPropertyChanged接口的情况下编写任何 WPF?两者齐头并进。Data您的解决方案是在您的类中实现此接口。请参阅 MDSN 的INotifyPropertyChanged 接口页面以获取相关帮助。

请注意,如果您首先向我们展示了您的所有代码,我们可以立即解决此问题。

于 2013-09-19T14:10:32.303 回答