默认情况下如何进行隐藏控制会出现在Visual Studio 2010 WPF设计器中?

时间:2012-03-26 17:59:59

标签: wpf visual-studio-2010

我有一个具有隐藏可见性的控件,因为它绑定到视图模型中的属性,其默认值使其隐藏。我可以通过XAML访问它,但我仍然希望它仍然显示在设计器中。

这样做有干净的方法吗?现在,我手动编辑Visibility属性以使其显示,但我宁愿不必这样做,以防我忘记更改它。

3 个答案:

答案 0 :(得分:4)

您可以绑定到布尔附加属性DesignerProperties.IsInDesignMode,仅当您在设计器内时才会为true。这是一个例子:

<Window x:Class="Visitest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:cm="clr-namespace:System.ComponentModel;assembly=PresentationFramework" 
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <BooleanToVisibilityConverter x:Key="conv"/>
    </Window.Resources>
    <Grid>
        <TextBox Margin="8" Background="Green" 
                 Visibility="{Binding (cm:DesignerProperties.IsInDesignMode), RelativeSource={RelativeSource Self}, Converter={StaticResource conv}}"/>           
    </Grid>
</Window>

答案 1 :(得分:2)

不确定它是否更清洁,但您应该在ctor中将其设置为Visible(在Initialize之前);

答案 2 :(得分:1)

你见过Hide WPF elements in Visual Studio designer吗?看起来其他人通过创建一个简单的自定义扩展来解决问题。