在StackPanel中时,WPF ToolBar Separator缩小为零

标签 wpf xaml toolbar stackpanel separator

鉴于非常简单的WPF应用

<Window x:Class="Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="800">
    <Grid>
        <ToolBar Height="50" >
            <MenuItem Header="Test1" />
            <MenuItem Header="Test2" />

            <StackPanel Orientation="Horizontal">
                <Separator />
                <MenuItem Header="Test3" />
                <MenuItem Header="Test4" />
                <MenuItem Header="Test5" />
            </StackPanel>
        </ToolBar>
    </Grid>
</Window>

分隔符元素缩小为零。如果我将分隔符放在StackPanel开始之前,它将显示出来。为什么会这样?是否可以在某处应用样式设置来避免这种情况?

最佳答案

StackPanel以某种方式改变了Separator的方向。请注意,如果您明确告诉Separator宽度为20个单位,则Separator将为水平线,而不是垂直线。这就是正在发生的事情的一部分。

如果将LayoutTransform应用于Separator,它将撤消StackPanel所做的任何操作。

<Separator>
    <Separator.LayoutTransform>
        <RotateTransform
            Angle="90" />
    </Separator.LayoutTransform>
</Separator>

不过,我不了解是否需要StackPanel

关于在StackPanel中时,WPF ToolBar Separator缩小为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1274370/

相关文章:

wpf - Caliburn Micro-使用容器的ActivateItem

wpf - 窗口中的图标属性导致 Windows XP SP2 中的应用程序崩溃

c# - Visual Studio 2015 XAML 设计器因 System.Exception 而失败

安装后 CakePHP DebugKit 插件工具栏不出现

ios - 工具栏中的栏按钮方法未调用

wpf - 标签 WPF 中的内容对齐

c# - WPF:关闭后无法重用窗口

c# - 如何导航到 UWP 中的参数化构造函数?

c# - Windows Phone 8 map 不显示在用户控件中

c++ - MFC:CMFCToolBar SetButtonStyle 不适用于样式 TBBS_PRESSED?