我正在使用 WinUI3 显示 ListView。我正在显示一个结构数组,但是是否可以在 XAML 中显示不属于该结构的数组索引?
<ListView>
<ListView.ItemTemplate>
<DataTemplate x:DataType="local:MyData">
<TextBlock Text="{x:Bind Index}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我看到在WPF中可以像下面这样操作,但是在WinUI3中会出错,难道WinUI3中没有这种方法吗?
<TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType=ListViewItem}, Path=(ItemsControl.AlternationIndex)}" />
由于似乎没有简单的方法可以做到这一点,因此您应该跟踪项目(
MyData
)本身中的索引。但是,如果您做不到这一点,您可以尝试我想出的方法。它有效。Visual Studio 会对您大喊大叫,但它有效。首先,您需要安装CommunityToolkit.WinUI.Extensions NuGet 包。
然后:
更新
您需要
DataTemplate
用 包装内容,ListViewItem
除非DataContext
不会设置。