工具栏位于ToolBarTray内的新行中

时间:2012-02-25 20:27:22

标签: c# wpf xaml wpf-controls

我在ToolBarTray中有两个ToolBars。虽然它们可以放在一行中,但我希望将每个ToolBar放在新行中。 我怎么能这样做?

<ToolBarTray VerticalAlignment="Top" Margin="0,20,70,0" Height="65">
    <ToolBar Height="30" VerticalAlignment="Top" Background="LightGray" >
        <Label>Name :</Label>
        <TextBox Width="120"></TextBox>
        <ComboBox Width="120" Margin="5,0,0,0">
            <ComboBoxItem>Item 1</ComboBoxItem>
            <ComboBoxItem>Item 2</ComboBoxItem>
            <ComboBoxItem>Item 3</ComboBoxItem>
        </ComboBox>
        <Button Height="25" Width="80" Background="White" Margin="5,0,0,0">Search</Button>
        <Label>This is a first ToolBar</Label>
        <Button Height="25" Width="80" Background="White" Margin="5,0,0,0" ToolBar.OverflowMode="Always">Look for ..</Button>
    </ToolBar>

        <ToolBar Height="30" VerticalAlignment="Top" Background="LightGray">
            <Label>Name :</Label>
            <TextBox Width="120"></TextBox>
            <ComboBox Width="120" Margin="5,0,0,0">
                <ComboBoxItem>Item 1</ComboBoxItem>
                <ComboBoxItem>Item 2</ComboBoxItem>
                <ComboBoxItem>Item 3</ComboBoxItem>
            </ComboBox>
        </ToolBar>
    </ToolBarTray>

1 个答案:

答案 0 :(得分:1)

来自MSDN: ToolBar.BandIndex Property

  

ToolBar在ToolBarTray中的位置取决于的值   ToolBarTray.Orientation,Band和BandIndex属性。什么时候   Orientation设置为Horizo​​ntal,band表示行中的一行   ToolBarTray。当“方向”为“垂直”时,波段表示列   of ToolBarTray。

在这种情况下,您需要将ToolBarTray.Orientation属性设置为Vertical

<ToolBarTray Orientation="Vertical"
             VerticalAlignment="Top" Margin="0,20,70,0" Height="65">
  <etc />
</ToolBarTray>

并且,不要忘记ToolBar.BandToolBar.BandIndex属性:

  

如果未明确设置此属性,则其值由以下值确定   ToolBar在ToolBarTray中设置的顺序。例如,   如果你在ToolBarTray中放置两个工具栏而不设置Band和   BandIndex属性,两个工具栏的Band值将为0。   第一个工具栏的BandIndex值为0,而第一个工具栏的值为1   第二个工具栏。