我有一个ObservableCollection<Foo> fooList
, 和下面的代码 a MasterDetailsView
,这只是一个花哨的ListView
:
<controls:MasterDetailsView
Grid.Row="1"
x:Name="MasterDetailsViewControl"
ItemsSource="{x:Bind fooList}"
SelectedItem="{x:Bind Selected, Mode=OneWay}"
ItemTemplate="{StaticResource ItemTemplate}"
DetailsTemplate="{StaticResource DetailsTemplate}"
NoSelectionContentTemplate="{StaticResource NoSelectionContentTemplate}"
BorderBrush="Transparent">
<controls:MasterDetailsView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Background">
<Setter.Value>
<Binding Path="PathToFooBrushGoesHere" />
</Setter.Value>
</Setter>
</Style>
</controls:MasterDetailsView.ItemContainerStyle>
</controls:MasterDetailsView>
每个foo
都有一个单独的属性foo.Brush
,我想用它来绘制背景ListViewItem
。我无法弄清楚我需要输入什么PathToFooBrushGoesHere
才能ListViewItem
访问foo
具有Brush
.
我有一个想法,通过设置不同的 ,它可能是可行的DataContext
,但我无法弄清楚我如何能够访问样式DataContext
中ItemTemplate
的。ListViewItem
应该如何进行这种造型?