2010-08-18 62 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

簡單的解決方法是使用多綁定和綁定自己兩列..在多功能轉換器上總是會返回你想要的。