实现Gird不同行的相同列共享宽度
当Grid的父容器,将Grid的附加属性 IsSharedSizeScope 属性值设置为 true时,SharedSizeGroup 的每个列或行成员都共享大小调整信息,而不考虑行或列的内容。行和列之间的大小共享依照SharedSizeGroup属性进行匹配。

点击查看代码
<Window
x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp1"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="MainWindow"
Width="800"
Height="450"
mc:Ignorable="d">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ListBox Grid.Column="0" ItemsSource="{Binding students}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock
Grid.Column="0"
Margin="50,0"
Text="{Binding Name}" />
<TextBlock
Grid.Column="1"
Margin="50,0"
Text="{Binding Age}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ListBox
Grid.Column="1"
Grid.IsSharedSizeScope="True"
ItemsSource="{Binding students}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A" />
<ColumnDefinition SharedSizeGroup="B" />
</Grid.ColumnDefinitions>
<TextBlock
Grid.Column="0"
Margin="50,0"
Text="{Binding Name}" />
<TextBlock
Grid.Column="1"
Margin="50,0"
Text="{Binding Age}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Window>

浙公网安备 33010602011771号