WPF在扩展器外部扩展网格

时间:2015-06-16 09:20:58

标签: wpf

我有一个状态栏,其中包含一个扩展器,以及一个包含一些内容的网格。我如何让扩展器展开网格,而不将其嵌套在状态栏中,以及在扩展时影响所有其他状态栏项目?

    <StatusBar>    
       //Other status items
       <Expander ExpandDirection="Up" Header="Operations" />
       //Other status items
    </StatusBar>

    <Grid Name="the_grid" DockPanel.Dock="Bottom">
      //Content
    </Grid>

1 个答案:

答案 0 :(得分:0)

你基本上想要与ComboBox功能相似的东西。查看ComboBox控件模板。 Combobox使用弹出控件在其他项目之上显示项目,并在组合框位置之外显示。

您可以编辑Expander的控件模板,并在那里使用类似的方法。

如果您不想花太多时间,可以使用小技巧:

    <StatusBar>
        <StatusBarItem Content="Item 1" />
        <StatusBarItem Content="Item2" Margin="20,0" />

        <Menu BorderThickness="0">
            <MenuItem Header="Item 3 (expandable)" Foreground="{StaticResource Accent}" BorderThickness="0" Background="#333">
                <MenuItem Header="Item 3.1" BorderThickness="0" />
                <MenuItem Header="Item 3.2" BorderThickness="0" />
            </MenuItem>
        </Menu> 
    </StatusBar>