【发布时间】:2016-06-26 11:19:11
【问题描述】:
我有一个ObservableCollection:
public ObservableCollection<RepairInfo> RepairList { get; set; }
我将它绑定到 DataGrid:
<DataGrid SelectionMode="Single" ItemsSource="{Binding RepairList}" Name="RepairsGrid" AutoGenerateColumns="False">
我没有使用 RepairInfo 类的所有属性,因此我指定了必须使用每个列的属性,如下所示:
<DataGridTextColumn Binding="{Binding IMEI}">
<DataGridTextColumn.Header>
<TextBox MinWidth="90" Text="{Binding IMEIFilter, UpdateSourceTrigger=PropertyChanged}" />
</DataGridTextColumn.Header>
</DataGridTextColumn>
DataGridTextColumn.Header 内部的TextBox 用于过滤数据。
所以这是我的问题 - 来自 TextBox 的值不要更新 ViewModel 中的属性。如果我把这个TextBox 放在DataGridTextColumn.Header 外面,一切都很好。我猜它是由我的DataGridTextColumn 的Binding 属性引起的,但我不知道如何解决它。
【问题讨论】:
-
你能在这里显示视图模型吗?
-
它非常大,所以我在googleDrive上分享它docs.google.com/document/d/…
-
尝试绑定DataContext前缀。像这样:
... -
我觉得绑定或视图模型没有问题。它更多地与此处定义标题模板的方式有关。我的猜测是应该定义某种数据模板来解决这个问题。
-
@dantey89 你能告诉我,
IMEI和IMEIFilter属于哪个类?我将帮助我以更精确的方式给出解决方案。谢谢