wpf 将工具栏中的元素分组以一起溢出

r7s23pms  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(113)

我有一个WPF ToolBar,当调整大小时,它会将一些子控件溢出到溢出面板中。我如何使两个特定的相邻控件一起溢出(这意味着要么都位于溢出面板中,要么都不位于溢出面板中)。
例如,我想在下面的代码中将TextBlockComboBox始终保持在一起:

<ToolBar>
    <Button Content="button" />
    <TextBlock VerticalAlignment="Center"
               Margin="3,0,3,0"
               Text="Size:" />
    <ComboBox VerticalAlignment="Center"
              ItemsSource="{Binding FontSizes}"
              Text="{Binding FontSize}"
              DataContext="{Binding}"
              IsEditable="True" />
</ToolBar>

一种方法是将控件放置在StackPanel中,但这最终会更改工具栏中控件的样式,删除控件的漂亮工具栏样式。对于某些控件(甚至可能是所有控件),我可以专门将样式设置回“工具栏样式”......但我希望有一种更简单的方法。

pqwbnv8z

pqwbnv8z1#

试试这个。你也可以将该资源移动到你的ToolBarTray

<ToolBar>
    <ToolBar.Resources>
        <Style TargetType="{x:Type ComboBox}" BasedOn="{StaticResource {x:Static ToolBar.ComboBoxStyleKey}}" />
    </ToolBar.Resources>

    <Button Content="Button" />
                
    <StackPanel Orientation="Horizontal">
        <Label Content="Letter:" />
        <ComboBox ItemsSource="ABCDEFGHIJKLMNOPQRSTUVWXYZ" SelectedIndex="0" />
    </StackPanel>

</ToolBar>

相关问题