2011-03-29 63 views
3

工具栏位于第一行。如何将工具栏拉伸为整行的宽度?拉伸工具栏Tray为其行宽

<Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 

<ToolBarTray Background="Transparent"> 
     <!--Toolbar.xaml--> 
     <ToolBar x:Name="mainToolbar" 
       Style="{StaticResource mainToolBarStyle}" 
       ItemsSource="{Binding ToolbarItems}" 
       ItemTemplateSelector="{StaticResource toolBarItemTemplateSelector}" 
       DataContext="{Binding}"> 
     </ToolBar> 
    </ToolBarTray> 

回答

1

你有没有试过horizo​​ntalcontentalignment?

<ToolBarTray Background="Transparent" Width="Auto"> 
    <!--Toolbar.xaml--> 
    <ToolBar x:Name="mainToolbar" HorizontalContentAlignment="Stretch" 
      Style="{StaticResource mainToolBarStyle}" 
      ItemsSource="{Binding ToolbarItems}" 
      ItemTemplateSelector="{StaticResource toolBarItemTemplateSelector}" 
      DataContext="{Binding}"> 
    </ToolBar> 
</ToolBarTray> 
+1

我试过了,不行 – Pacman 2011-03-29 19:12:21

+0

也没帮助我。 – Shakaron 2016-09-30 11:21:56

3

我删除了ToolbarTray并设置Horizo​​ntalContentAlignment =“STRECH”这确实是

+1

如果删除'ToolBarTray','ToolBar'会自动拉伸以填充'Grid'单元格。 – user7116 2011-03-29 20:20:24

3

如果你离开ToolBarTray你可以使用像这样的ToolBar.Width属性绑定:

<ToolBarTray Background="Transparent"> 
    <!--Toolbar.xaml--> 
    <ToolBar Width="{Binding ActualWidth, 
          RelativeSource={RelativeSource FindAncestor, 
              AncestorType={x:Type ToolBarTray}}}"> 
     <Button>Hello</Button> 
    </ToolBar> 
</ToolBarTray> 
1

这就是我做的:

首先,我删除了工具栏Tray并保留工具栏

<ToolBar> 
       <Button x:Name="OpenTabsButton1" Click="OpenTabs_Click" Style="{StaticResource OpenTabs}">Open Tabs</Button> 
       <Button x:Name="ShortcutsButton1" Click="OpenTabs_Click" Style="{StaticResource Shortcuts}">Shortcuts</Button> 
       <Button x:Name="HelpButton1" Click="OpenTabs_Click" Style="{StaticResource Help}">Help</Button> 
       <Button x:Name="ProfileButton1" Click="Profile_Click" Style="{StaticResource Profile}">Profile</Button> 
       <Button Style="{DynamicResource CloseButton}"></Button> 
      </ToolBar> 

然后,我创建了一个样式工具栏

<Style x:Key="{x:Type ToolBar}" TargetType="{x:Type ToolBar}"> 
    <Setter Property="SnapsToDevicePixels" Value="true" /> 
    <Setter Property="OverridesDefaultStyle" Value="true" /> 
    <Setter Property="HorizontalAlignment" Value="Stretch"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type ToolBar}"> 
       <Grid Background="{StaticResource ToolGridBackground}"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="Auto"/> 
         <ColumnDefinition Width="*"/> 
         <ColumnDefinition Width="Auto"/> 
        </Grid.ColumnDefinitions> 
        <Image Grid.Column="0" Style="{StaticResource LogoImage}"/> 
        <ToolBarPanel Grid.Column="2" x:Name="PART_ToolBarPanel" IsItemsHost="true" Margin="0,1,2,2" Orientation="Horizontal"/> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

最重要的部分是:

<Grid.ColumnDefinitions> 
         <ColumnDefinition Width="Auto"/> 
         <ColumnDefinition Width="*"/> 
         <ColumnDefinition Width="Auto"/> 
        </Grid.ColumnDefinitions> 

而且

<ToolBarPanel Grid.Column="2"/> 

有了这个,你的按钮将是正确的对齐