DataTemplate中的Setter目标父元素(来自CellTemplate的影响DataGridRow)

时间:2013-09-30 07:50:01

标签: wpf datagrid datatrigger celltemplate

我需要根据单元格的DataContext值

折叠当前的DataGridRow
   <DataGridTemplateColumn>
       <DataGridTemplateColumn.CellTemplate>
              <DataTemplate>
                   <ContentControl Content="{Binding}"/>

                    <DataTemplate.Triggers>                            
                         <DataTrigger Binding="{Binding IsParentExpanded}" Value="False">
                                <!-- Here i wan't to Collapse the DataGridRow-->
                         </DataTrigger>                            
                     </DataTemplate.Triggers>

                </DataTemplate>                        
          </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>

任何想法如何做到这一点?

只是为了澄清我不想成为一个Setter,在DataSridRow类型的RelativeSource中的Target。

目前我应用此更改投掷:

   <DataGrid.RowStyle>
        <Style TargetType="{x:Type DataGridRow}">
             <Style.Triggers>
                 <DataTrigger Binding="{Binding IsParentExpanded}" Value="False">
                      <Setter Property="Visibility" Value="Collapsed"/>
                  </DataTrigger>
             </Style.Triggers>                    
         </Style>
    </DataGrid.RowStyle>

我想知道是否有不同的方式,当然只使用xaml,因为我可以遍历可视树并在代码中执行此操作。

1 个答案:

答案 0 :(得分:0)

您应该在RowStyle中执行此操作

    <DataGrid>
        <DataGrid.RowStyle>
            <Style TargetType="DataGridRow">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding IsParentExpanded}" Value="False">
                        <Setter Property="Visibility" Value="Collapsed"/>
                    </DataTrigger>
                </Style.Triggers>
             </Style>
        </DataGrid.RowStyle>
    </DataGrid>