我试图将我的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