gpt4 book ai didi

wpf - 在 WPF ListView/Gridview 中设置列​​背景

转载 作者:行者123 更新时间:2023-12-04 01:45:54 27 4
gpt4 key购买 nike

我正在寻找在 WPF GridView 中设置列​​的背景。许多 Google 结果都指向设置 GridViewColumn.CellTemplate 以更改列的外观。但是,我在设置背景颜色时遇到了问题;它不会拉伸(stretch)以填充单元格:

Ugly Grid View

这是我正在使用的 xaml:

<Window x:Class="ScratchPadWpf.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Width="300" Height="300">
<Grid>
<ListView ItemsSource="{Binding}">
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid Background="Red">
<TextBlock Text="{Binding FirstName}"/>
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid Background="Yellow">
<TextBlock Text="{Binding LastName}"/>
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>

和 xaml.cs 很好的衡量标准:
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
DataContext = new[]
{
new {FirstName = "Jim", LastName = "Bob"},
new {FirstName = "Frank", LastName = "Smith"},
new {FirstName = "Tooth", LastName = "Paste"},
};
}
}

将 DataTemplate 的 Grid 的宽度和高度设置为大于具有负边距的单元格可以产生接近的结果,但如果调整列的大小,问题就会再次出现。
<Grid Background="Yellow" Height="22" Width="50" Margin="-6">

Still Ugly

有没有办法用颜色填充单元格?

最佳答案

设置HorizontalContentAlignmentItemContainerStyle :

<ListView ItemsSource="{Binding}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>

结果:

alt text

关于wpf - 在 WPF ListView/Gridview 中设置列​​背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1379902/

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