【发布时间】:2019-12-23 10:32:36
【问题描述】:
我将 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”是否是正确的方法......
【问题讨论】:
-
使 radiobutton1 被选中为真。通过在其绑定上设置或使用 fallbackvalue。
标签: c# wpf xaml datatrigger