wpf - 如何使 WPF 数据模板填充列表框的整个宽度?

标签 wpf layout listbox datatemplate

我在 WPF 中有一个 ListBox DataTemplate。我希望一个项目紧靠 ListBox 的左侧,而另一个项目紧靠右侧,但我不知道如何做到这一点。

到目前为止,我有一个包含三列的Grid,左右两列都有内容,中间是一个占位符,其宽度设置为“*”。我哪里出错了?

这是代码:

<DataTemplate x:Key="SmallCustomerListItem">
    <Grid HorizontalAlignment="Stretch">
        <Grid.RowDefinitions>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <WrapPanel HorizontalAlignment="Stretch" Margin="0">
            <!--Some content here-->
            <TextBlock Text="{Binding Path=LastName}" TextWrapping="Wrap" FontSize="24"/>
            <TextBlock Text=", " TextWrapping="Wrap" FontSize="24"/>
            <TextBlock Text="{Binding Path=FirstName}" TextWrapping="Wrap" FontSize="24"/>

        </WrapPanel>
        <ListBox ItemsSource="{Binding Path=PhoneNumbers}" Grid.Column="2" d:DesignWidth="100" d:DesignHeight="50"
     Margin="8,0" Background="Transparent" BorderBrush="Transparent" IsHitTestVisible="False" HorizontalAlignment="Stretch"/>
    </Grid>
</DataTemplate>

最佳答案

我还必须设置:

HorizontalContentAlignment="Stretch"

在包含的ListBox上。

关于wpf - 如何使 WPF 数据模板填充列表框的整个宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/135375/

相关文章:

wpf - 需要滚动一个 WPF 网格

ruby-on-rails - 设计中登录操作的不同布局

reactjs - 如何处理与组件层次结构不匹配的布局容器?

ms-access - 特殊的列表框。重新查询视觉错误

C++ mfc csv 文件读取

c# - 如何显示带有项目的列表框,例如 item.name 显示在列表中,而传递的值是 item.id?

c# - .Net DownloadFileTaskAsync 健壮的 WPF 代码

c# - 是否可以使用 C# 在 SQLite 中获取列名(标题)?

wpf - 如何使用正确的 Windows 系统颜色?

java - 不同 View 中具有相同 ID 的两个按钮