ウィンドウを に設定しSizeToContent="WidthAndHeight"
ましたが、ウィンドウには、ウィンドウの幅を定義したいコントロールの行があります。これらのコントロールの下に、3 つの列を持つ DataGrid が必要です。
ただし、3 つの列を均等に分散して同じサイズにし、使用可能なスペースを使用することはできないようです。C#.NET でこれを行う方法はありますか?
DataBinding を介してそれを行うことができます。例えば:
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" SizeToContent="WidthAndHeight">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal" x:Name="panel">
<Label Content="1" Width="90"/>
<Label Content="2" Width="90"/>
<Label Content="3" Width="90"/>
</StackPanel>
<DataGrid Width="{Binding ActualWidth, ElementName=panel}">
<DataGrid.Columns>
<DataGridTextColumn Header="1" Width="*"/>
<DataGridTextColumn Header="2" Width="*"/>
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</Window>