2012-06-21 83 views
0

我正在使用MVVM模式,並且如果兩個布爾值設置爲true,我有一個DataGrid並顯示一些圖片。一個值是在DataView(DtView)中綁定以生成行,並且綁定沒有問題,但另一個值是ViewModel的公共屬性(與DtView的位置相同),這是問題。我不知道如何解決這個問題。
這裏是我的代碼:WPF - 如何將兩個不同的數據視圖綁定到datagrid中的一個多數據觸發器中

<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> 

如果有人能幫助我,比我會很高興,因爲這是令人沮喪的,我不知道如何解決這個代碼。

回答

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> 
+0

謝謝。你拯救了我的生命。完美的作品。 :-) – Artholl

相關問題