3列のグリッドを持つアプリがあります。第1列と第2列の間のグリッドスプリッタは正常に動作します。スプリッターを2番目と3番目の列の間にするために、私はスプリッターの列を作った。 (今、3番目の列は実際に4番目です。)WPF - 3列のGridSplitter
他の列のサイズを変更すると、縮小されます。私は彼らが相対的な大きさに設定されているのでそれがあると思います。しかし、私はそれを修正する方法を知らない。
ここに、私の問題のXAML Pad Readyの例があります。これをXAMLパッドに差し込み、最後の列のサイズを小さくしてください。
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<StackPanel Background="#feca00" Grid.Column="0">
<TextBlock FontSize="35" Foreground="#58290A"
TextWrapping="Wrap">Left Hand Side</TextBlock>
</StackPanel>
<GridSplitter Width="10" />
<Border CornerRadius="10" BorderBrush="#58290A"
BorderThickness="5" Grid.Column="1">
<TextBlock FontSize="25" Margin="20" Foreground="#FECA00"
TextWrapping="Wrap">Right Hand Side</TextBlock>
</Border>
<GridSplitter Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="5"></GridSplitter>
<TabControl Grid.Column="3" Name="tabControl1">
<TabItem Header="Add Links" Name="tabAddLinks">
<Grid></Grid>
</TabItem>
</TabControl>
</Grid>
</Page>
ありがとうございます!
EDIT: それは自分の列の両方のスプリッタを持つことは、それを修正することが示唆されました。私はそれを試して、今すぐ最初のスプリッターは、2番目のスプリッターのように列を縮小します。ここ
は、例えばXAMLパッドコードである:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<StackPanel Background="#feca00" Grid.Column="0">
<TextBlock FontSize="35" Foreground="#58290A"
TextWrapping="Wrap">Left Hand Side</TextBlock>
</StackPanel>
<GridSplitter Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="5"></GridSplitter>
<Border CornerRadius="10" BorderBrush="#58290A"
BorderThickness="5" Grid.Column="2">
<TextBlock FontSize="25" Margin="20" Foreground="#FECA00"
TextWrapping="Wrap">Right Hand Side</TextBlock>
</Border>
<GridSplitter Grid.Column="3" HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="5"></GridSplitter>
<TabControl Grid.Column="4" Name="tabControl1">
<TabItem Header="Add Links" Name="tabAddLinks">
<Grid></Grid>
</TabItem>
</TabControl>
</Grid>
</Page>
あなたを祝福してください!私はこの1つに私の髪を引っ張っていた!!!!! – Vaccano
update:GridSplitterのResizeBehaviourプロパティとの関係は、指定されていない場合はBasedOnAlignmentにデフォルト設定されるため、GridSplitterの列の右側の列のみがサイズ変更されます...もっと確実にmsdnドコを掘り下げる必要があります。 .. – kiwipom
はい、本当にあなたを祝福してください! –