如何在 UWP 应用中通过触发器更改属性

问题描述

我想在 wpf 中的 Text 属性为 null 或为空时更改 TextBlock 的可见性,我们可以轻松地做到这一点:

<Style targettype = "TextBlock"> 
         <Setter Property = "Visibility" Value = "Visibile" /> 
         <Style.Triggers> 
            <Trigger Property = "Text" Value = ""> 
               <Setter Property = "Visibility" Value = "Collapsed" /> 
            </Trigger> 
         </Style.Triggers> 
      </Style> 

但是触发器在 uwp 中不可用,我如何在 uwp 中执行此操作?

解决方法

 <Interactivity:Interaction.Behaviors>
    <Core:DataTriggerBehavior Binding="{Binding Text,ElementName=txt}" ComparisonCondition="Equal" Value="">
        <Core:ChangePropertyAction TargetObject="{Binding ElementName=txt}" PropertyName="Visibility" Value="Collapsed" />
    </Core:DataTriggerBehavior>
 </Interactivity:Interaction.Behaviors>
,

您可以在初始化时检查 TextBlock 的内容并相应地更改其可见性,如下所示:

public MainPage()
    {
        this.InitializeComponent();
        if (YourTextBlock.Text == "")
        {
            YourTextBlock.Visibility = Visibility.Collapsed;
        }
        else
        {
            YourTextBlock.Visibility = Visibility.Visible;
        }
    }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...