Как сделать так, чтобы скрытый по умолчанию элемент управления отображался в конструкторе WPF Visual Studio 2010? - PullRequest
7 голосов
/ 26 марта 2012

У меня есть элемент управления со скрытой видимостью, поскольку он связан со свойством в модели представления, значение которого по умолчанию скрывает его. Я могу получить к нему доступ через XAML, но мне бы хотелось, чтобы он все еще отображался в конструкторе.

Есть ли чистый способ сделать это? На данный момент я вручную редактирую атрибут Visibility, чтобы он отображался, но я бы предпочел не делать этого на тот случай, если я забуду изменить его обратно.

Ответы [ 3 ]

4 голосов
/ 26 марта 2012

Вы можете привязать к логическому присоединенному свойству DesignerProperties.IsInDesignMode, что верно только в том случае, если вы находитесь в конструкторе.Вот пример:

<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>
2 голосов
/ 26 марта 2012

Не уверен, что он намного чище, но вы должны установить его в Visible в ctor (до инициализации);

1 голос
/ 26 марта 2012

Вы видели Скрыть элементы WPF в конструкторе Visual Studio ?Похоже, что другие люди решили эту проблему, создав простое собственное расширение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...