托管在UserControl中时,工具栏没有显示溢出

时间:2019-09-11 23:07:50

标签: wpf toolbar

我托管在Window中,其中有一个主要的UserControl由其他UserControls组成。

其中一个包含一个ToolBar,上面带有几个Buttons。通过将其UserControl属性设置为Grid.Row,将其放置在主0的顶部。但是,当减小Window时,Buttons会消失,并且不会显示溢出。我有点弄乱了溢出属性,但是没有运气。

这里是包含UserControl的{​​{1}}。

ToolBar

这是我的主要<UserControl x:Class="TestProj.Views.ToolBarView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="706"/> <ColumnDefinition Width="319"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="40"/> <RowDefinition Height="30"/> </Grid.RowDefinitions> <ToolBar Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"> <Button Content="Button1" /> <Button Content="Button2" /> <Button Content="Button3" /> <Button Content="Button4" /> <Button Content="Button5" /> <Button Content="Button6" /> </ToolBar> </Grid> </UserControl> ,它托管在UserControl内部,并托管Window ToolBar

UserControl

这是我调整<UserControl x:Class="TestProj.MainControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:views="clr-TestProj.Views" mc:Ignorable="d" d:DesignHeight="737.239" d:DesignWidth="1026" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="256*"/> <ColumnDefinition Width="256*"/> <ColumnDefinition Width="256*"/> <ColumnDefinition Width="430*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto"> </RowDefinition> <RowDefinition Height="608*"/> <RowDefinition Height="Auto"> </RowDefinition> </Grid.RowDefinitions> <views:ToolBarView HorizontalAlignment="Left" x:Name="OnyxToolBar" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="4" /> </Grid> </UserControl> 大小的示例.gif,只是其中包含Window的{​​{1}}在顶部的位置:

enter image description here

1 个答案:

答案 0 :(得分:1)

问题是您的UserControl aka ToolBarView中固定大小的列

您不能为某个控件提供固定大小的值(无论它是否为ToolBar),并且期望具有“动态大小”

根据您的情况,您可以执行以下操作

更改此

<Grid.ColumnDefinitions>
     <ColumnDefinition Width="706"/>
     <ColumnDefinition Width="319"/>
</Grid.ColumnDefinitions>

对此(例如)

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