这是我的Listview XAML代码:
<ListView ItemsSource="{Binding Items}" Margin="0" Grid.Row="1" >
<ListView.View>
<GridView>
<GridViewColumn
Header="OperatorId"
DisplayMemberBinding="{Binding OperatorId}" x:Name="operatorIdColumn"/>
<GridViewColumn
Header="OperatorValue" x:Name="operatorValueColumn"
DisplayMemberBinding="{Binding Row.OperatorRow.Value}" />
</GridView>
</ListView.View>
</ListView>
当operatorIdColumn的值发生变化时,如何让operatorValueColumn自行更新?换句话说,当OperatorId发生变化时,我该怎么做? INotifyPropertyChanged已经在ListView绑定的对象中实现。
修改 List视图绑定到TypedDataSet的DataTable。 “Row.OperatorRow.Value”基本上挂钩到父表(Operators)以获取实际值。当我尝试更改OperatorId时,operatorIdColumn更新显示新Id,但operatorValueColumn不会将自身更新为新的运算符值。
如果我可以根据operatorId更改强制对operatorValueColumn进行绑定更新,我将获得新值。这可能是一个黑客,我仍然想知道如果可能的话如何做到这一点。
这是一个测试用户控件,用于快速交叉检查本地数据结构值。所以模式并不重要。
答案 0 :(得分:0)
SKG,尝试绑定一个传递一个OperatorId的方法,该方法为该OperatorID喷出相应的Row.OperatorRow.Value ...
答案 1 :(得分:0)
简单的解决方案是使用多重绑定并将自己绑定到两个列..在多转换器上总是返回您想要呈现的那个。