2013-01-11 52 views
0

我剛剛學習WPF (and mvvm),我遇到了一個問題,我不能google通過。雙數據綁定

2 ObservableCollections - 練習和圖表(該項目即將在健身房trackig進度)

練習(ID,姓名

(ExerciseId,ExerciseName, Id,...)

現在在我想填寫圖表的窗口中,我有一個listbox一些labels_grid _和ItemTemplate一個combobox

Listbox綁定到Chart集合。
Combobox顯示練習列表,所以我將它綁定到練習集。

問題:

  1. 我可以指定的XAML組合框電流值應相同Chart.Exercise?
  2. 如何在XAML中指定綁定,以便將組合框中的運動集合元素分配給Chart.Exercise?
+0

你怎麼會在這嗎?運氣好的話? – PGallagher

回答

0

你可能可以通過元素綁定和轉換器實現這一點......但是,在ViewModel中實現這一點會更簡單。

您的ViewModel中將有四個屬性。

  • 屬性1:運動可觀察集合 - 綁定到您的組合框的ItemSource(ExerciseItems)
  • 房產2:運動選定的項目 - 綁定到您的組合框的SelectedItem(ExerciseSelectedItem)
  • 房產3:圖觀察集合 - 綁定你的列表框(與ChartItem)
  • 房產4:圖中選擇項目 - 綁定到你的列表框的SelectedItem(ChartSelectedItem)

你會設置你的組合音響B-在使用Linq的情況下,使用列表框選擇項目屬性中的選定項目與列表框選定項目練習ID相同;

Public Property ChartSelectedItem As ChartItem 
Get 
    Return _ChartSelectedItem 
End Get 
Set(value As ChartItem) 
    If value <> _ChartSelectedItem Then 
     _ChartSelectedItem = value 

     ExcersiseSelectedItem = (From ExcersiseItemsList in ExcersiseItems Where ExcersiseItemsList.ID = value.ExcersiseID).FirstOrDefault 

     OnPropertyChanged("ChartSelectedItem") 

    End if 
End Set 
End Property 

希望幫助...