sta*_*son 11 wpf xaml listview gridview styles
我想在WPF GridView中设置列的背景.许多Google搜索结果都指向设置GridViewColumn.CellTemplate以更改列的外观.但是,在设置背景颜色时我遇到了一个问题; 它没有拉伸来填充细胞:
这是我正在使用的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>
Run Code Online (Sandbox Code Playgroud)
和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"},
};
}
}
Run Code Online (Sandbox Code Playgroud)
将DataTemplate的Grid的宽度和高度设置为大于具有负边距的单元格可以产生接近的结果,但是如果您调整列的大小,则问题会再次出现.
<Grid Background="Yellow" Height="22" Width="50" Margin="-6">
Run Code Online (Sandbox Code Playgroud)
有没有办法用颜色填充单元格?
Ken*_*art 15
设置HorizontalContentAlignment
的ItemContainerStyle
:
<ListView ItemsSource="{Binding}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>
Run Code Online (Sandbox Code Playgroud)
结果:
挖了一个旧线程,但是我发现了一个躲避它的方法
<Grid Background="{Binding backGround}" Margin="-6,0,-6,0">
<TextBlock Margin="6,0,6,0" Text="{Binding myText}" TextAlignment="Right" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
移动页边距,使背景色填充整个单元格,然后将它们移回原处,以便文本仍位于正确的位置。现在可以正常工作,直到正确修复为止。
归档时间: |
|
查看次数: |
23348 次 |
最近记录: |