wpf - 如何将扩展器锚定到列表框的右侧?

标签 wpf listbox expander

下面的 XAML 代码工作正常,但我希望扩展器按钮位于列表框和网格之间。如果我设置 ExpandDirection="Left",按钮位于列表框和网格之间,但按钮上的方向指示器会让用户感到困惑 - 展开时它指向右侧,未展开时它指向左侧。我希望方向指示器按照 ExpandDirection="Right"时的方式工作,但我想要 ExpandDirection="Left"的功能。

<DockPanel>
    <Expander ExpandDirection="Right">
        <ListBox>
            <ListBoxItem>Item One</ListBoxItem>
            <ListBoxItem>Item Two</ListBoxItem>
            <ListBoxItem>Item Three</ListBoxItem>
            <ListBoxItem>Item Four</ListBoxItem>
            <ListBoxItem>Item Five</ListBoxItem>
        </ListBox>
    </Expander>
        <Grid Background="AliceBlue">
          <TextBlock >
            Other Content
          </TextBlock>
        </Grid>
</DockPanel>

最佳答案

使用 Expression Blend,编辑 Expander 当前模板的副本,转到模板的 XAML,将“ExpanderLeftHeaderStyle”重命名为“ExpanderRightHeaderStyle”,将“ExpanderRightHeaderStyle”重命名为“ExpanderLeftHeaderStyle”。

关于wpf - 如何将扩展器锚定到列表框的右侧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1703671/

相关文章:

wpf - 绑定(bind)到 CompositeCollection 中的单个元素

c# - 列表框控件中的多列

WPF 扩展器 - 在 Visual Studio 2010 设计窗口中看不到内部控件

c# - 使用 StringFormat 的 WPF 格式化标签

c# - 从 Helix Toolkit 保存图像

WINAPI:捕获列表框中的鼠标单击以添加新项目

C# 如何使用 RightClick 选择 ListBox 项目?

wpf - 如果 ONE 展开,则多个 Expander 必须折叠

wpf - 如何吞下 Expander.Header 中的下拉行为?

c# - 在 WPF DataGrid 中输入时将逗号替换为点