3

メインウィンドウには、いくつかのボタンが付いたツールバーがあります。親ウィンドウをドラッグしてサイズを変更し、すべてのボタンを含むツールバー全体がウィンドウの幅に収まらないようにすると、ツールバー全体が表示されなくなります。

サイズを変更するときに、ツールバーの幅に達すると、ウィンドウの内部コントロールのサイズ変更が停止して表示されたままになり、ウィンドウのサイズが変更された場所を切り取るようにする方法はありますか?

コードは

<Grid >
<Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition Height="Auto" />
    <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
    <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
    <ToolBar Grid.Row="1" Height="50" Name="tbMainToolbar" VerticalAlignment="Top" MinWidth="900" >
    <ToolBar.Background>
        <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
            <GradientStop Color="White" Offset="0.0" />
            <GradientStop Color="#DCEBFF" Offset="0.25" />
            <GradientStop Color="#99CCFF" Offset="0.75" />
            <GradientStop Color="#99CCFF" Offset="1.0" />
            </LinearGradientBrush>
    </ToolBar.Background>
    <DockPanel LastChildFill="True">
        <Button Name="btnApproved" DockPanel.Dock="Left" Click="btnToolbar_Click" CommandParameter="APPROVED"
                Style="{StaticResource ToolbarButtonDisplay}" HelperClasses:ButtonProperties.Image="..\..\Resources\Images\APPROVEU.GIF" Content="Approve">
        </Button>
        ... and so forth for about 20 buttons
4

1 に答える 1

7

ツールバーに、すべてのボタンを含むがありますDockPanel

これは、ツールバーがドックパネル(およびそのすべてのボタン)を単一の「アイテム」として扱うことを意味します。収まらない場合は、ツールバーのオーバーフロー領域のロットを非表示にします。

完全にDockPanel削除し、ツールバーの真下にボタンを配置するだけの場合、ウィンドウのサイズが変更されると、ボタンは一度に1つずつ消えます(「オーバーフロー領域」に表示されます)。

それらをオーバーフロー領域に入れたくない場合は、ToolBar.OverflowMode="Never"各ボタンの添付プロパティを使用できます。これにより、質問で説明したように、ツールバーがウィンドウの端から消えてしまいます。

そもそも、ドックパネルでこの添付プロパティを使用することもできます。

<DockPanel LastChildFill="True" ToolBar.OverflowMode="Never">
于 2012-12-13T18:02:24.627 に答える