gpt4 book ai didi

银光 3 : ListBox DataTemplate HorizontalAlignment

转载 作者:行者123 更新时间:2023-12-03 09:33:10 25 4
gpt4 key购买 nike

我有一个 ListBox,它的 ItemTemplate 绑定(bind)到 DataTemplate。我的问题是我无法让模板中的元素拉伸(stretch)到 ListBox 的整个宽度。

<ListBox x:Name="listPeople" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" 
Margin="0,0,0,0" Background="{x:Null}" SelectionMode="Extended" Grid.Row="1"
ItemTemplate="{StaticResource PersonViewModel.BrowserDataTemplate}"
ItemsSource="{Binding Mode=OneWay, Path=SearchResults}" >
</ListBox>

<DataTemplate x:Key="PersonViewModel.BrowserDataTemplate">
<ListBoxItem HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,5,5,5">
<Border Opacity=".1" x:Name="itemBorder" Background="#FF000000"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
CornerRadius="5,5,5,5" MinWidth="100" Height="50"/>
</Grid>
</ListBoxItem>
</DataTemplate>

如您所见,我在网格中添加了一个边框来指示模板的宽度。我的目标是看到这个边框扩展到列表框的整个宽度。目前它的宽度由它的内容或 MinWidth 决定,这是目前唯一让它保持可见的东西。

最佳答案

我花了一个小时试图解决这个问题。非常非常令人沮丧。你 不要必须覆盖 ListBoxItem 的整个默认样式。我无法让它工作。最后,我通过简单地覆盖 解决了这个问题。水平内容对齐 我的 中的属性(property)ListBox.ItemContainerStyle 部分例如:

            <ListBox x:Name="ClassList" ItemsSource="{Binding LineClasses}"
ScrollViewer.VerticalScrollBarVisibility="Visible"
SelectionMode="Extended"
ScrollViewer.HorizontalScrollBarVisibility="Hidden" HorizontalContentAlignment="Stretch"
HorizontalAlignment="Stretch" Loaded="ClassList_Loaded"
VerticalAlignment="Stretch" Grid.Row="0">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>

<DataTemplate>
<Border BorderBrush="Black" CornerRadius="3" Background="#FFE88D34"
BorderThickness="1" HorizontalAlignment="Stretch" >
<Grid Background="Transparent" HorizontalAlignment="Stretch" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock
Grid.Column="0" HorizontalAlignment="Stretch"
Margin="2"
FontSize="10"
Text="{Binding DisplayClassNm}"/>
</Grid>

</Border>
</DataTemplate>
</ListBox.ItemTemplate>

这对我来说是一种享受。

迈尔斯

关于银光 3 : ListBox DataTemplate HorizontalAlignment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/746190/

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