我正在使用 MVVM 模式,如果两个布尔值设置为 true,我有一个带有一列的 DataGrid,该列显示一些图片。一个值在绑定以生成行的 DataView (DtView) 中,绑定没有问题,但另一个值是 ViewModel 的公共属性(与 DtView 相同),这是问题所在。我不知道如何解决这个问题。
这是我的代码:
<DataGrid ItemsSource="{Binding Path=DtView}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Status">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="../Images/a.png" Width="18" Height="18">
<Image.Style>
<Style TargetType="Image">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding 'column from DtView'}" Value="True" />
<Condition Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=Column from other DataView}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Visible" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
如果有人可以帮助我,我会非常高兴,因为这很令人沮丧,而且我不知道如何修复此代码。