2012-03-26 18 views
6

Ich habe ein Steuerelement mit ausgeblendeter Sichtbarkeit, da es an eine Eigenschaft im Ansichtsmodell gebunden ist, deren Standardwert dafür sorgt, dass es ausgeblendet wird. Ich kann über den XAML darauf zugreifen, aber ich möchte, dass es immer noch im Designer angezeigt wird.Wie Steuerelement, das standardmäßig ausgeblendet ist, angezeigt wird, wird in Visual Studio 2010 WPF-Designer angezeigt?

Gibt es einen sauberen Weg, dies zu tun? Momentan bearbeite ich das Sichtbarkeitsattribut manuell, damit es angezeigt wird, aber ich würde es lieber nicht machen, falls ich es vergessen sollte, es zurück zu ändern.

Antwort

2

Nicht sicher, es ist viel sauberer, aber Sie sollten es auf Sichtbar in der Ctor setzen (vor der Initialisierung);

+0

Pflege erklären unten Abstimmung über eine angenommene Antwort zwei Jahre alt? – Paparazzi

+0

Es ist nicht ich, der gewählt hat. Aber ich kann nicht verstehen, wie deine Antwort möglicherweise helfen könnte. Ich glaube nicht, dass der Designer den Code hinter der Datei überhaupt liest? – Arek

+0

@Arek Genau Designer liest nicht den Code hinter und es hat das Häkchen. – Paparazzi

4

Sie können an die boolesche angefügte Eigenschaft DesignerProperties.IsInDesignMode binden, die nur dann wahr ist, wenn Sie sich im Designer befinden. Hier ein Beispiel:

<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

Ich habe meine Frage ein wenig geklärt. Die Sichtbarkeit ist bereits an ein Objekt im Ansichtsmodell gebunden, dessen Standardwert bewirkt, dass es ausgeblendet wird. Vielleicht könnte ich die Bindung zu dem, was Sie hier im Konstruktor haben, ändern, wenn ich im Design-Modus bin? – jglouie

Verwandte Themen