我将 Visual Studio 2019 与 WPF/MVVM 结合使用。
我已经为文本框设置了一个触发器来控制它的可见性。 在运行时这很有效,触发器检查单选按钮的状态并根据单选按钮的状态设置文本框的可见性。
但是在设计时这个文本框是不可见的。 我怎样才能使这个文本框在设计时可见?
这是我为触发器准备的 XAML:
<Style x:Key="text" TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=Radiobutton1, Path=IsChecked}" Value="true">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=Radiobutton1, Path=IsChecked}" Value="false">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
<TextBox Style="{StaticResource text}" Text="test..... />
我找到了这篇文章 https://social.msdn.microsoft.com/Forums/en-US/cacc5c30-8aa0-43c5-ad07-b063028653a2/designmode-and-visibility?forum=wpf并使用“DesignerProperties.IsInDesignMode”进行了一些测试,但我无法运行,出现“无法将数据触发器添加到 setterbasecollection”之类的错误。
我也不知道“DesignerProperties.IsInDesignMode”是否是正确的方法...
最佳答案
我认为答案更简单。通过添加 d:Visibility="Visible"
,文本框将在设计时可见。
<TextBox d:Visibility="Visible" Style="{StaticResource text}" Text="test..... />
关于c# - WPF XAML - 文本框的设计时间和可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57535833/