2012-03-26 9 views
6

Ho un controllo che ha visibilità nascosta perché è associato a una proprietà nel modello di vista il cui valore predefinito ne determina la presenza. Posso accedervi tramite XAML, ma mi piacerebbe che fosse ancora mostrato nel designer.Come rendere il controllo nascosto per impostazione predefinita nella finestra di progettazione WPF di Visual Studio 2010?

C'è un modo pulito per farlo? Per ora, sto modificando manualmente l'attributo Visibilità per farlo apparire, ma preferirei non doverlo fare, nel caso mi dimentichi di cambiarlo.

risposta

2

Non è sicuro che sia molto più pulito, ma è necessario impostarlo su Visibile nel ctor (prima dell'inizializzazione);

+0

Cura di spiegare giù voto su una risposta accettata di due anni? – Paparazzi

+0

Non sono io che ho votato. Ma non riesco a capire come la tua risposta potrebbe aiutare. Non penso che il progettista legga il codice dietro il file? – Arek

+0

@Arek Il designer esattamente non legge il codice e ha il segno di spunta. – Paparazzi

4

È possibile eseguire il binding alla proprietà booleana associata DesignerProperties.IsInDesignMode, che è vera solo se si è all'interno del progettista. Ecco un esempio:

<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

Ho chiarito un po 'la mia domanda. La visibilità è già associata a un elemento nel modello di vista, il cui valore predefinito ne determina la presenza. Forse potrei cambiare il binding con quello che hai qui nel costruttore se sono in modalità Design? – jglouie

Problemi correlati