如何从layout-WPF中删除Dockpanel内的按钮
我有一个里面有两个按钮的dockpanel如何从layout-WPF中删除Dockpanel内的按钮,wpf,visibility,dockpanel,Wpf,Visibility,Dockpanel,我有一个里面有两个按钮的dockpanel <Window x:Class="PracticeWPF.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Wid
<Window x:Class="PracticeWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<DockPanel LastChildFill="True">
<Button Name="btn1" DockPanel.Dock="Top">Button 1</Button>
<Button Name="btn2" DockPanel.Dock="Top" Visibility="Collapsed">Button 2</Button>
</DockPanel></Window>
按钮1
按钮2
问题是,按钮btn2正在参与布局,即使它的可见性=“崩溃”。我希望btn1必须填满整个空间。
取而代之的是btn1粘在车窗的顶部位置。
上述代码必须等同于
<DockPanel LastChildFill="True">
<Button Name="btn1" DockPanel.Dock="Top">Button 1</Button>
<!--
<Button Name="btn2" DockPanel.Dock="Top" Visibility="Collapsed">Button 1</Button>
-->
</DockPanel>
按钮1
为什么会发生这种情况。Vinod,在DockPanel中,最后一项将始终占据DockPanel中布局的其余部分。由于您已经设置了第一个按钮的顶部,我认为第二个按钮上的Dock属性将被忽略
不使用DockPanel,您可以使用AutoSize属性尝试“网格”面板?您可以通过手动向DockPanel.Children添加/删除按钮来获得所需的行为。更多关于 上述代码必须等于 不,那只是你的一个错误假设。折叠的按钮仍然是最后一个子按钮,因此第一个按钮仍然停靠在顶部,折叠的按钮在布局方面与此无关