Ich habe eine WPF-Form, die im Grunde wie folgt aussieht:ausblenden WPF-Elemente in Visual Studio Designer
<Window ...>
<Grid>
<DockPanel>
[content shown during normal operation]
</DockPanel>
<Grid Background="#CCCC" Visibility="Hidden">
[overlay grid which is only shown during special circumstances]
</Grid>
</Grid>
</Window>
Das Overlay Gitter verbirgt alles andere (dh der „normalen Inhalt“) und wird nur unter besonderen Umständen gezeigt (dh wenn die Netzwerkverbindung ausfällt). Das funktioniert einwandfrei, wenn das Programm läuft.
Jetzt in Entwurfsmodus ist das Problem, dass Visual Studio die Visibility="Hidden"
ignoriert. In der Regel ist das sehr sinnvoll (schließlich möchte ich die versteckten UI-Elemente bearbeiten können), aber in meinem Fall ist es ärgerlich, weil es mich daran hindert, das Zeug im Designer im DockPanel zu bearbeiten.
Also, was ich möchte ist, etwas zu tun wie folgt aus:
<Grid Background="#CCCC" Visibility="Hidden" VS.ShowInDesigner="False">
[overlay grid which is only shown during special circumstances]
</Grid>
Aber leider gibt es keine solche Eigenschaft, oder zumindest keine, die ich kenne. Irgendwelche Ideen?
Ich gehe auf eine andere Weise über eine Lösung, indem ich versuche herauszufinden, wie das TabControl dies erreicht. Mit dem TabControl können Sie eine bestimmte Registerkarte auswählen, die innerhalb des Designers ignoriert wird, wenn Sie den Cursor innerhalb des Codes für eine der Registerkarten oder auf den tatsächlichen Registerkarten im Designer platzieren und stattdessen die Entwurfszeit-Registerkarte anzeigen . Ich denke, das Popup-Steuerelement sollte genauso funktionieren und ich arbeite an etwas ähnlich dem Silverlight ChildWindow-Steuerelement, das mir diese Art von Entwurfszeitverhalten geben wird. – jpierson