Как сделать элемент управления скрытым по умолчанию отображаемым в дизайнере WPF Visual Studio 2010?

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

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

3 ответа

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


Вы можете привязать к логическому приложенному свойству 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">
 </booleantovisibilityconverter></window.resources>
 <grid>
 <textbox margin="8" background="Green" visibility="{Binding (cm:DesignerProperties.IsInDesignMode), RelativeSource={RelativeSource Self}, Converter={StaticResource conv}}"> 
 </textbox></grid>
</window>


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

licensed under cc by-sa 3.0 with attribution.