组合框丢失选定的值
问题描述:
我有一个组合框内的我的WPF DataGrid。它是这样创建的:组合框丢失选定的值
<DataGridTemplateColumn Header="Account">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Account, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{DynamicResource Accounts}" SelectedValue="{Binding Path=Account, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Height="23" IsTextSearchEnabled="True"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
此DataGrid的DataContext是ObservableCollection。本次交易类有一个名为“帐户”属性下面是我如何创建此属性:
public string Account
{
get { return account; }
set { account = value; NotifyPropertyChanged("Account"); }
}
什么我错在这里做什么?当我从ComboBox中选择一个项目时,我在框外点击后不会显示任何内容。当我在帐户属性的Set方法中设置断点时,该值为空。
答
解决了我的问题。我必须设置Text
属性绑定。
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{DynamicResource Accounts}" Text="{Binding Path=Account}" Height="23" IsTextSearchEnabled="True"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
将其更改为SelectedItem后,仍然无法正常工作。这个问题依然没有任何分歧。应该改变TextBlock的绑定吗? – 2012-02-14 21:12:59