如果DataGrids子项通过转换器,我需要将我的DataGrid的RowStyle属性绑定到Visibility。问题是孩子存在DataTemplate中。我的代码是我现在正在做的简化版本,所以它可能没有多大意义。但无论如何:如何将一个父项属性绑定到子元素数据项
<DataGrid Name="dataGrid"
ItemsSource="{Binding Path=ListOfData}"
RowStyle="{StaticResource DataGridRowStyle}"
>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Name="textBlock" Source={Binding Path=Title}
<Image Name="image" Source="{Binding Path=Image}"/>
</StackPanel>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
事情是,TextBlock和图像可以单独得到折叠。如果两者都折叠,我需要DataGridRow折叠或隐藏,所以你不会在网格中看到它。我的计划是定义一个名为'DataGridRowStyle'的RowStyle。样式将由TextBlock和Images的Visibility属性触发,并将RowStyle的可见性设置为折叠状态。
<Style TargetType="{x:Type DataGridRow}" x:Key="DataGridRowStyle">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Value="True">
<Condition.Binding>
<MultiBinding Converter="{StaticResource VisibilityConverter}">
<Binding ElementName="textBlock" Path="Visibility" />
<Binding ElementName="image" Path="Visibility" />
</MultiBinding>
</Condition.Binding>
</Condition>
</MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Collapsed"/>
</MultiDataTrigger>
</Style.Triggers>
</Style>
不幸的是,我在运行时得到一个警告,其中System.Data无法对我的textBlock或image元素进行fint操作。我想你不能绑定到DataTemplate,或者我做错了什么?我能以某种方式做同样的事情吗?
你想,当用户选择它,倒塌像做你的行扩展当一行 – ethicallogics 2012-07-20 07:31:32