0

私はMVVMパターンを使用しており、2つのブール値がtrueに設定されている場合にいくつかの画像を表示する列を持つ1つのDataGridがあります。1つの値は行を生成するためにバインドされるDataView(DtView)にあり、バインドに問題はありませんが、もう1つの値は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>

誰かが私を助けてくれるなら、私は本当に幸せになるでしょう。なぜなら、これはイライラしていて、このコードを修正する方法がわからないからです。

4

1 に答える 1

1

試す

<MultiDataTrigger.Conditions>
    <Condition Binding="{Binding 'column from DtView'}" Value="True" />
    <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type DataGrid}},
                                 Path=DataContext.OtherDtView.Column from other DataView}" Value="True" />
</MultiDataTrigger.Conditions>
于 2012-06-21T22:51:34.213 に答える