2010-08-18 64 views
2

这是我的列表视图XAML代码:WPF结合问题

<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> 

我怎样才能让operatorValueColumn自我更新时operatorIdColumn值发生变化?换句话说,当OperatorId改变时我该怎么做? INotifyPropertyChanged已经在ListView绑定的对象中实现。

编辑: 列表视图绑定到TypedDataSet的数据表。 “Row.OperatorRow.Value”基本挂钩到父表(操作员)以获取实际值。当我尝试更改OperatorId时,operatorIdColumn更新显示新的Id但operatorValueColumn不会自行更新为新的运算符值。

如果我可以基于operatorId更改强制对operatorValueColumn进行绑定更新,我将获得新值。这可能是一个黑客,但我仍然想知道如果可能的话这样做。

这是用于测试用户控件,它将用于快速交叉检查本地数据结构值。所以模式并不重要。

+0

为什么需要更新,如果它的值没有改变。它是否根据operatorIdColumn的值显示不同? – Mike 2010-08-18 18:06:10

+0

目前尚不清楚你想要做什么。你在这里绑定什么'{Binding Row.OperatorRow.Value}'? – 2010-08-18 18:16:28

+0

@ Mike,Eduardo - 我已经添加了一个编辑部分来回答您的问题 – SKG 2010-08-18 18:34:59

回答

0

SKG,尽量结合​​通过在吐出相应Row.OperatorRow.Value为OperatorID的OperatorId一个方法...

0

简单的解决方法是使用多绑定和绑定自己两列..在多功能转换器上总是会返回你想要的。