WPF XAML - 文本框的设计时间和可见性

Spa*_*ker 3 c# wpf xaml datatrigger

我将 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..... />
Run Code Online (Sandbox Code Playgroud)

我找到这篇文章 https://social.msdn.microsoft.com/Forums/en-US/cacc5c30-8aa0-43c5-ad07-b063028653a2/designmode-and-visibility?forum=wpf 并使用“DesignerProperties.IsInDesignMode”进行了一些测试”但我无法运行此操作,我收到诸如“无法将数据触发器添加到setterbasecollection”之类的错误。

我也不知道“DesignerProperties.IsInDesignMode”是否是正确的方法......

小智 6

我认为答案更简单。通过添加d:Visibility="Visible",文本框将在设计时可见。

<TextBox d:Visibility="Visible" Style="{StaticResource text}"  Text="test..... />
Run Code Online (Sandbox Code Playgroud)