MultiDataTrigger

MultiDataTrigger是多条件数据触发器

和MltiTrigger是同样的,只不过前者是数据,后者是属性。

这个是基本的使用语法

<MultiDataTrigger>

  <MultiDataTrigger.conditions>

   //触发条件

  </MultiDataTrigger.conditions>

//这个位置写你想要的效果,动画等等

</MultiDataTrigger>

那现在给一个小小的例子,有一个输入框,有一个按钮,按钮是不可以使用的,当在输入框中输入未选择时,按钮可用,并显示输入框中的字符。

  <Grid>
        <Button Height="50" Width="100" Margin="224,169,468,200">
            <Button.Style>
                <Style TargetType="Button">
                    <Setter Property="Content" Value=""/>
                    <Setter Property="Background" Value="Red"/>
                    <Setter Property="IsEnabled" Value="False"/>
                    <Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=TB, Path=Text}" Value="未选择"/>
                                <Condition Binding="{Binding ElementName=TB, Path=IsReadOnly}" Value="false"/>
                            </MultiDataTrigger.Conditions>
                            <MultiDataTrigger.Setters>
                                <Setter Property="Content" Value="{Binding ElementName=TB, Path=Text}"/>
                                <Setter Property="IsEnabled" Value="True"/>
                            </MultiDataTrigger.Setters>
                        </MultiDataTrigger>
                    </Style.Triggers>
                </Style>
            </Button.Style>
        </Button>
        <TextBox x:Name="TB" IsReadOnly="False" HorizontalAlignment="Left" Height="45" Margin="224,96,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="301"/>
    </Grid>

多条件数据触发器有很多的有意思的用法。

没事可以试试的

原文地址:https://www.cnblogs.com/T-ARF/p/9605665.html