gpt4 book ai didi

wpf - ItemsControl 中的第 N 项样式

转载 作者:行者123 更新时间:2023-12-04 04:37:40 25 4
gpt4 key购买 nike

我有一个 ItemsControl具有关联的 DataTemplate如下。我的问题是如何设置 ItemsControl 中的第 N 个项目的样式不一样?我试图只在某些项目上放置边框。

    <DataTemplate x:Key="CTemplate">
<Grid HorizontalAlignment="Left" Width="200" Height="Auto" Margin="0,0,30,30">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Vertical" Grid.Column="0">
<TextBlock Text="Device Name:" Style="{StaticResource i2_TB}"/>
<TextBlock Text="Device ID:" Style="{StaticResource i2_TB}" />
</StackPanel>
<StackPanel Orientation="Vertical" Grid.Column="2">
<TextBlock Text="{Binding DeviceName}" Style="{StaticResource i2_TB}" TextTrimming="CharacterEllipsis" />
<TextBlock Text="{Binding DeviceID}" Style="{StaticResource i2_TB}" TextTrimming="CharacterEllipsis" />
</StackPanel>
</Grid>
</DataTemplate>

最佳答案

我想通了,它很简单

  • 首先设置一个AlternationCount匹配您的 N .就我而言,我每行有 3 个项目,我希望第 3 个项目有所不同。
    <ItemsControl ItemTemplate="{StaticResource CTemplate}" AlternationCount="3">
  • 其次,使用 AlternationIndex 在模板本身中设置数据触发器。作为数据触发器
    <DataTemplate.Triggers>
    <Trigger Property="ItemsControl.AlternationIndex" Value="2">
    <Setter Property="BorderThickness" Value="0,0,0,1" TargetName="controlHost"/>
    </Trigger>
    </DataTemplate.Triggers>
  • 关于wpf - ItemsControl 中的第 N 项样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19450102/

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