我試圖將我的ListBox綁定到我的ViewModel的選擇,因爲我在一個樞軸中有多個ListBox並且我不想輸出每個屬性的整個頁面。爲了說明我的問題,這裏有一個小樣本:綁定到ViewModel的選擇
XAML:
<DataTemplate x:Key="PropertyTemplate">
<StackPanel>
<TextBlock Text="{Binding Label}" />
<TextBlock Text="{Binding Value}" />
</StackPanel>
</DataTemplate>
<controls:Pivot>
<controls:PivotItem>
<ListBox ItemsSource="{Binding PropertySelectionOne}" ItemTemplate="{StaticResource PropertyTemplate}" />
</controls:PivotItem>
<controls:PivotItem>
<ListBox ItemsSource="{Binding PropertySelectionTwo}" ItemTemplate="{StaticResource PropertyTemplate}" />
</controls:PivotItem>
</controls:Pivot>
視圖模型:
public class SomeViewModel
{
private Property _propOne;
public Property PropOne
{
get { return _propOne; }
set { _propOne = value; NotifyPropertyChanged("PropOne"); }
}
private Property _propTwo;
public Property PropTwo
{
get { return _propTwo; }
set { _propTwo = value; NotifyPropertyChanged("PropTwo"); }
}
private Property _propThree;
public Property PropThree
{
get { return _propThree; }
set { _propThree = value; NotifyPropertyChanged("PropThree"); }
}
}
所以基本上我想我的列表框綁定到PropertySelectionOne
和PropertySelectionTwo
,這將包含對引用我的ViewModel中的屬性選擇。例如,PropertySelectionOne
可以包括PropOne
和PropTwo
和PropertySelectionTwo
可以包括PropTwo
和PropThree
。
有沒有簡單的方法來將這些屬性「分組」到一個新的屬性來綁定而不改變我的應用程序的體系結構?從不同的列表框中相同日期類型顯示
感謝
創建一個ObservableCollection。並添加PropOne和PropTwo。然後將ObservableCollection綁定到列表框的itemssource。 –
2011-04-06 11:49:49
埃文,我真的嘗試過,但它似乎收集有正確數量的項目,但它們始終爲空。我這樣做的方式只是'ObservableCollection PropertyCollection;'和在構造函數中'PropertyCollection = new ObservableCollection {PropOne,PropTwo}' –
RajenK
2011-04-06 12:47:18