Hallo zusammen,
mir ist ein komisches Verhalten des Contextmenüs aufgefallen, wenn ich einen Treeview drauf packe. Und zwar möchte ich den Treeview nur zeigen, wenn eine gewisse Bedingung erfüllt ist. Deswegen setze ich die Visibility-Eigenschaft des Treeview zunächst auf "Collapsed" und dann auf Visibility="Visible" wenn Bedingung erfüllt.
Laut msdn.microsoft.com/en-us/libra…m.windows.visibility.aspx reserviert "Collapsed" keinen Platz im Layout.
In meinem Fall sollte also das Contextmenu alles außer dem TreeView anzeigen und auch die dazu passende Größe haben. Leider besitzt das ContextMenü an der Stelle des verborgenen TreeViews einen leeren Eintrag an dem Platz reserviert wurde.
Weiß jemand wie man das lösen kann, so dass mit Visibility="Collapsed" die Größe des Menüs passt?
Das Verhalten lässt sich auch mit Buttons und bestimmt noch weiteren UI-Elementen reproduzieren.
mir ist ein komisches Verhalten des Contextmenüs aufgefallen, wenn ich einen Treeview drauf packe. Und zwar möchte ich den Treeview nur zeigen, wenn eine gewisse Bedingung erfüllt ist. Deswegen setze ich die Visibility-Eigenschaft des Treeview zunächst auf "Collapsed" und dann auf Visibility="Visible" wenn Bedingung erfüllt.
Laut msdn.microsoft.com/en-us/libra…m.windows.visibility.aspx reserviert "Collapsed" keinen Platz im Layout.
In meinem Fall sollte also das Contextmenu alles außer dem TreeView anzeigen und auch die dazu passende Größe haben. Leider besitzt das ContextMenü an der Stelle des verborgenen TreeViews einen leeren Eintrag an dem Platz reserviert wurde.
Weiß jemand wie man das lösen kann, so dass mit Visibility="Collapsed" die Größe des Menüs passt?
XML-Quellcode
- <Window x:Class="MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:local="clr-namespace:WpfApplication1"
- mc:Ignorable="d"
- Title="MainWindow" Height="350" Width="525">
- <Grid>
- <Button>
- <Button.ContextMenu>
- <ContextMenu>
- <MenuItem Header="Test1"/>
- <TreeView Visibility="Collapsed"/>
- </ContextMenu>
- </Button.ContextMenu>
- </Button>
- </Grid>
- </Window>
Das Verhalten lässt sich auch mit Buttons und bestimmt noch weiteren UI-Elementen reproduzieren.