1

グリッド内にグリッドがあります。ウィンドウサイズに関係なく、最大サイズを利用できるようにしたい:

  • Main_Gridは最大幅である必要があります
  • Grid_tool_barは最大幅である必要があります

しかし実際にはそうではなく、私は理由を見つけることができません。コードは次のとおりです。

<Window x:Class="SocialNetworkingApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Background="White" WindowStyle="None" HorizontalAlignment="Stretch" WindowState="Normal" AllowsTransparency="True" WindowStartupLocation="CenterScreen">
    <Border Margin="0,0,0,0" BorderBrush="Black" BorderThickness="1,1,1,1" >
        <Grid x:Name="Main_Grid" Background="White" Width="Auto" Height="Auto" Margin="0,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top">
            <Grid.RowDefinitions>
                <RowDefinition Height="30" />
                <RowDefinition Height="25"/>
                <RowDefinition Height="50"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="20"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="1*"/>
            </Grid.ColumnDefinitions>
            <Grid Name="Title_Bar" Grid.Row="0" VerticalAlignment="Top" ShowGridLines="True" Grid.IsSharedSizeScope="True" MouseDown="Drag_Window" Background="#FF4FA2DA" HorizontalAlignment="Left" Width="766" Height="31">
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="30"/>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="120" />
                </Grid.ColumnDefinitions>
            </Grid>
        </Grid>
    </Border>
</Window>

属性を最小化することで解決

<Window x:Class="SocialNetworkingApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Background="White" WindowStyle="None"  WindowState="Normal" AllowsTransparency="True" WindowStartupLocation="CenterScreen">
    <Border Margin="0,0,0,0" BorderBrush="Black" BorderThickness="1,1,1,1" >
        <Grid x:Name="Main_Grid" Background="White" >
            <Grid.RowDefinitions>
                <RowDefinition Height="10" />
                <RowDefinition Height="20"/>
                <RowDefinition Height="40"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="20"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="1*"/>
            </Grid.ColumnDefinitions>
            <Grid Name="Title_Bar" Grid.Row="0" Height="Auto" Background="#FF4FA2DA" >
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="30"/>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="120" />
                </Grid.ColumnDefinitions>
            </Grid>
        </Grid>
    </Border>
</Window>
4

1 に答える 1

0
 <Grid Name="Title_Bar" Grid.Row="0" ... Width="766" Height="31">

自動調整する場合は、幅を指定しないでください。その属性を削除するだけです。

HorizontalAlignment="Left"編集:セッターも削除します。少なくとも外側のグリッドについては。

于 2012-10-19T22:58:24.630 に答える