如何在WPF中创建此ListBox ItemTemplate?

如何在WPF中创建此ListBox ItemTemplate?,wpf,listbox,styles,datatemplate,itemtemplate,Wpf,Listbox,Styles,Datatemplate,Itemtemplate,我有一个列表框,其中包含一个带有网格的简单ItemTemplate。我试图为列表框中绑定接收到的每个项目创建如下内容: 我没有使用WPF进行设计的经验,我不知道这样做的最佳实践是什么,避免矩形内网格的文本变形 多谢各位 下面是如何添加蓝色背景 在DataTemplate中放置一个蓝色矩形,并设置ColumnSpan=4。这将导致矩形填充所有四列。对矩形应用倾斜变换以变换边 XAML <ListBox ItemsSource='{Binding}'> <ListBox.It

我有一个列表框,其中包含一个带有网格的简单ItemTemplate。我试图为列表框中绑定接收到的每个项目创建如下内容:

我没有使用WPF进行设计的经验,我不知道这样做的最佳实践是什么,避免矩形内网格的文本变形


多谢各位

下面是如何添加蓝色背景

在DataTemplate中放置一个蓝色矩形,并设置ColumnSpan=4。这将导致矩形填充所有四列。对矩形应用倾斜变换以变换边

XAML

<ListBox ItemsSource='{Binding}'>
  <ListBox.ItemTemplate>
    <DataTemplate>
      <Grid Margin='30,6' >
        <Grid.RowDefinitions>
          <RowDefinition Height="3*"/>
          <RowDefinition/>
        </Grid.RowDefinitions>

        <Grid.ColumnDefinitions>
          <ColumnDefinition Width='Auto' />
          <ColumnDefinition Width='Auto' />
          <ColumnDefinition Width='Auto' />
          <ColumnDefinition Width='Auto' />

        </Grid.ColumnDefinitions>
        <Rectangle Fill='LightBlue'
                    Grid.ColumnSpan='4' 
                    RenderTransformOrigin="0.5,0.5"
                   adiusX="6" Grid.RowSpan="2" RadiusY="5" >
          <Rectangle.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform AngleX="-21.464"/>
                <RotateTransform/>
                <TranslateTransform X="-9.069"/>
            </TransformGroup>
          </Rectangle.RenderTransform>
        </Rectangle>
        <TextBlock Text='{Binding Property1}'
                    Grid.Column='0'
                    Margin='10'
                    MinWidth='60' />
        <TextBlock Text='{Binding Property2}'
                    Grid.Column='1'
                    Margin='10'
                    MinWidth='60' />
        <TextBlock Text='{Binding Property3}'
                    Grid.Column='2'
                    Margin='10'
                    MinWidth='60' />
        <TextBlock Text='{Binding Property4}'
                    Grid.Column='3'
                    Margin='10'
                    MinWidth='60' />

      </Grid>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>

屏幕截图


哇!非常感谢你,伙计!您可能想编辑您的问题,只需询问模板(而不是三个不同的问题)。否则问题可能就结束了。