GWL*_*osa 13 .net wpf grid xaml datatrigger
我有一个网格,其行需要根据视图模型动态调整大小.我想做类似以下的事情:
<RowDefinition Height="2*">
<RowDefinition.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=ShowSection}" Value="True">
<Setter Property="RowDefinition.Height" Value="2*"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=ShowSection}" Value="False">
<Setter Property="RowDefinition.Height" Value="0"/>
</DataTrigger>
</Style.Triggers>
</Style>
</RowDefinition.Style>
</RowDefinition>
Run Code Online (Sandbox Code Playgroud)
这个编译,没有错误,但似乎没有任何影响.有没有我缺少的东西,或者Grid在绘制表单后不允许其行调整大小或者是什么?
Fre*_*lad 18
我认为你的Xaml代码的唯一问题是你通过明确地设置Height来覆盖DataTrigger RowDefinition.尝试使用Setter代替
<RowDefinition>
<RowDefinition.Style>
<Style>
<Setter Property="RowDefinition.Height" Value="2*"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=ShowSection}" Value="True">
<Setter Property="RowDefinition.Height" Value="2*"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=ShowSection}" Value="False">
<Setter Property="RowDefinition.Height" Value="0"/>
</DataTrigger>
</Style.Triggers>
</Style>
</RowDefinition.Style>
</RowDefinition>
Run Code Online (Sandbox Code Playgroud)
我知道这篇文章已有3年历史,但它仍然可以帮助某些人.
<RowDefinition>
<RowDefinition.Style>
<Style TargetType="RowDefinition">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=ShowSection}" Value="True">
<Setter Property="Height" Value="2*"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=ShowSection}" Value="False">
<Setter Property="Height" Value="0"/>
</DataTrigger>
</Style.Triggers>
</Style>
</RowDefinition.Style>
</RowDefinition>
Run Code Online (Sandbox Code Playgroud)
我处于相同的情况,我设法通过将TargetType设置为RowDefinition来使其工作.
| 归档时间: |
|
| 查看次数: |
6304 次 |
| 最近记录: |