【发布时间】:2015-03-06 10:08:56
【问题描述】:
我有以下 DataGrid,我希望在其中自动拉伸列大小,以便对所有现有列使用完整的窗口大小。实际上我的五列的宽度是最小的。这意味着我的窗口大小为 640 像素,其中五列填充 360 像素。
<DataGrid Name="dgPerson" ItemsSource="{Binding PersonObject}" AutoGenerateColumns="False" CanUserAddRows="false">
<DataGrid.Columns>
<DataGridTextColumn Header="First Name" Binding="{Binding FirstName}" IsReadOnly="True" />
<DataGridTextColumn Header="Last Name" Binding="{Binding LastName}" IsReadOnly="True" />
<DataGridTextColumn Header="Email" Binding="{Binding Email}" />
<DataGridTextColumn Header="Facebook" Binding="{Binding Facebook}" />
<DataGridTemplateColumn Header="Action">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Click="btnEditPerson_Click">
<StackPanel Orientation="Horizontal">
<Rectangle Width="12" Height="12"
Fill="{Binding RelativeSource={RelativeSource AncestorType=Button}, Path=Foreground}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Fill"
Visual="{StaticResource appbar_refresh}" />
</Rectangle.OpacityMask>
</Rectangle>
</StackPanel>
</Button>
<Button Click="btnDeletePerson_Click">
<StackPanel Orientation="Horizontal">
<Rectangle Width="12" Height="12"
Fill="{Binding RelativeSource={RelativeSource AncestorType=Button}, Path=Foreground}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Fill"
Visual="{StaticResource appbar_delete}" />
</Rectangle.OpacityMask>
</Rectangle>
</StackPanel>
</Button>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
【问题讨论】: