Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从layout-WPF中删除Dockpanel内的按钮_Wpf_Visibility_Dockpanel - Fatal编程技术网

如何从layout-WPF中删除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

我有一个里面有两个按钮的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" 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添加/删除按钮来获得所需的行为。更多关于

上述代码必须等于

不,那只是你的一个错误假设。折叠的按钮仍然是最后一个子按钮,因此第一个按钮仍然停靠在顶部,折叠的按钮在布局方面与此无关