我正在构建一个工具来同时编辑多个数据库对象,我很想让你们对突出显示方案有所了解。
在我的ViewModel
中,我有一个Juris
的{{1}}集合,与用户选择编辑的任何项目相关联。我还有一个由所有选定项目“CommonJuris”共享的司法管辖区子集。我的问题是:是否有一种简单的方法可以使用完整集合填充Jurisdictions
,并突出显示子集合中的项目?
目前我的ListBox
中有一个bool属性IsCommon
。我真的不希望Jurisdiction Model
中有这个,但我还没有找到更好的解决方案。 Model
没有Jurisdiction
,因为这是唯一的内容。
这是我对ListBox本身的XAML:
ViewModel
风格:
<ListBox Grid.Row="1" Grid.Column="2" ItemContainerStyle="{StaticResource JuriAndTT}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
HorizontalContentAlignment="Stretch"
ItemsSource="{Binding Juris}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
答案 0 :(得分:2)
我认为你自己回答了这个问题 - 你还没有创建一个视图模型,因为它只有一个属性;相反,你已经用该属性污染了你的模型。
你必须权衡两者,并确定你是否更熟悉模型中的IsCommon
或创建视图模型的开销。
您可以采取其他一些方法,创造性地使用附加属性或转换器,但它们比实现视图模型更复杂和困难。