gpt4 book ai didi

c# - 列表框中的列对齐

转载 作者:行者123 更新时间:2023-11-30 20:57:49 27 4
gpt4 key购买 nike

有没有更好的方法来对齐列?当文本更改时,第 3 列和第 4 列会到处移动。我试过将 Width 设置为 * 和 auto,但似乎没有任何效果。

<ListBox Height="Auto" BorderThickness="0" MouseDoubleClick="OnMouseDoubleClick" ItemsSource="{Binding Path=Results}" SelectedItem="{Binding Path=Entry, Mode=TwoWay}" AlternationCount="2">              
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="150"></ColumnDefinition>
<ColumnDefinition MinWidth="150"></ColumnDefinition>
<ColumnDefinition MinWidth="150"></ColumnDefinition>
<ColumnDefinition MinWidth="100"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" FontFamily="Sagoe UI" FontSize="14"
Text="{Binding FullName}" Padding="2" />
<TextBlock Grid.Column="1" FontFamily="Sagoe UI" FontSize="14"
Text="{Binding Company}" Padding="2" />
<TextBlock Grid.Column="2" FontFamily="Sagoe UI" FontSize="14"
Text="{Binding BusinessPhone}" Padding="2" />
<TextBlock Grid.Column="3" FontFamily="Sagoe UI" FontSize="14"
Text="{Binding EmailAddress}" Padding="2" >
</TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

最佳答案

您可以尝试设置 Grid.IsSharedSizeScope在 ListBox 上并设置唯一 SharedSizeGroup在每个网格列上。这应该对齐您的列。

<ListBox Grid.IsSharedSizeScope="True" Height="Auto" BorderThickness="0" MouseDoubleClick="OnMouseDoubleClick" ItemsSource="{Binding Path=Results}" SelectedItem="{Binding Path=Entry, Mode=TwoWay}" AlternationCount="2">              
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A"></ColumnDefinition>
<ColumnDefinition SharedSizeGroup="B"></ColumnDefinition>
<ColumnDefinition SharedSizeGroup="C"></ColumnDefinition>
<ColumnDefinition SharedSizeGroup="D"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" FontFamily="Sagoe UI" FontSize="14" Text="{Binding FullName}" Padding="2" />
<TextBlock Grid.Column="1" FontFamily="Sagoe UI" FontSize="14" Text="{Binding Company}" Padding="2" />
<TextBlock Grid.Column="2" FontFamily="Sagoe UI" FontSize="14" Text="{Binding BusinessPhone}" Padding="2" />
<TextBlock Grid.Column="3" FontFamily="Sagoe UI" FontSize="14" Text="{Binding EmailAddress}" Padding="2" >
</TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

关于c# - 列表框中的列对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16550527/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com