我在针对DataGrid的Style中的xaml中定义了RowStyle:
<Style x:Key="DataGridStyle" TargetType="{x:Type DataGrid}">
<!-- Bunch of other setters -->
<Setter Property="RowStyle">
<Setter.Value>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{StaticResource DataGridRowBgConverter}">
<Binding Path="IsThis" />
<Binding Path="IsThat" />
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
某些DataGrids需要一个RowStyle,它使用背景图像,当某个属性为true时显示。
我修改了multibinding以传递datacontext作为第三个值,并修改了转换器以检查DC以确定是否需要图像。
但是,我无法弄清楚如何构建xaml
更新:
这似乎有效,除了设置TwoWay绑定,我需要指定一个路径。
<Setter Property="Background">
<Setter.Value>
<ImageBrush Binding="{Binding Converter={StaticResource DataGridRowImageConverter}}" />
</Setter.Value>
</Setter>
如何设置绑定路径以绑定到DC(相当于<Binding />
)?上面的xaml中的绑定给了我必要的DC;如何使用Path表达相同的内容?
感谢您的任何见解......
答案 0 :(得分:0)
你不能拥有超过1个同一属性的setter。您可以使用样式上的DataTrigger根据DataContext中的属性将背景设置为ImageBrush。它看起来像下面这样:
f->get_screen_render()