【发布时间】:2018-03-17 16:24:22
【问题描述】:
我有一个ObservableCollection<Foo> fooList,下面是一个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 访问具有Brush 的foo 的属性。
我认为通过设置不同的DataContext 可能是可行的,但我不知道如何以ListViewItem 样式访问ItemTemplate 的DataContext .
应该如何处理这种样式?
【问题讨论】:
标签: c# xaml uwp uwp-xaml windows-community-toolkit