ListView.ItemContainerStyle IsSelected 属性似乎不会影响 WinRT 上的选择
本文关键字:WinRT 影响 选择 IsSelected ItemContainerStyle 属性 ListView | 更新日期: 2023-09-27 17:56:58
在调试问题期间,我试图将IsSelected直接设置为true(无绑定)(最后我尝试使用绑定,但发现即使没有绑定也不起作用)。
以下代码在 WPF 中工作正常(所有选定项),但在 WinRT 上不起作用(执行后未选择任何项)。
这是一个错误/功能吗?
以下 XAML 将在 WPF 窗口和 WinRT 页面中进行编译。
<ListView SelectionMode="Multiple" HorizontalAlignment="Stretch">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="IsSelected" Value="True"/>
</Style>
</ListView.ItemContainerStyle>
<TextBox Width="200"/>
<TextBox Width="200"/>
<TextBox Width="200"/>
<TextBox Width="200"/>
<TextBox Width="200"/>
</ListView>
您可以使用 listviewItem 的预定义数据模板解决此问题。
<ListView SelectionMode="Multiple">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<ListViewItem IsSelected="True" >
<TextBox Height="30" Width="200" ></TextBox>
</ListViewItem>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
<TextBox />
<TextBox/>
<TextBox/>
<TextBox/>
<TextBox/>
</ListView>