我正在尝试使用多数据处理程序来设置网格的可见性。使其可见的条件是PropertyA==null && PropertyB==false。我不确定如何编写PropertyA条件。我的尝试是在这里(但不起作用):
<Grid>
<Grid.Style>
<Style>
<Setter Property="Control.Visibility" Value="Collapsed"/>
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding PropertyA}" Value="{x:Null}"/>
<Condition Binding="{Binding PropertyB}" Value="False"/>
</MultiDataTrigger.Conditions>
<Setter Property="Control.Visibility" Value="Visible" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>有人能告诉我吗。
发布于 2016-05-25 10:31:20
这是我使用过的样式,它是用于Button的,但它的工作原理与预期一样。
<Style TargetType="Button" x:Key="btnTakePhoto">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Comment}" Value="{x:Null}"/>
<Condition Binding="{Binding ResponseNumber}" Value="{x:Null}"/>
</MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Collapsed"/>
</MultiDataTrigger>
</Style.Triggers>
</Style> 尝试将样式从网格中删除,并将其包含在UserControl.Resources标记中。
你会像这样使用它:
<Button Style="{StaticResource btnTakePhoto}"/>
您的xaml绝对没有理由不工作。
编辑
另外,我在我的另一个UserControl中有以下代码:
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.Style>
<Style>
<Setter Property="Grid.Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=btnShowHide, Path=IsChecked}" Value="True">
<Setter Property="Grid.Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>
<ToggleButton MinHeight="150" Width="50" Content=">" Name="btnShowHide">https://stackoverflow.com/questions/37433463
复制相似问题