【问题标题】:ListView.ItemContainerStyle IsSelected property does not seem to affect selection on WinRTListView.ItemContainerStyle IsSelected 属性似乎不会影响 WinRT 上的选择
【发布时间】:2014-04-07 06:29: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>

【问题讨论】:

    标签: c# xaml windows-runtime


    【解决方案1】:

    您可以使用 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>
    

    【讨论】:

    • 那行得通。谢谢。现在看看它是否适用于绑定。 :)
    • 嗯......不,它没有......您在样式中添加了一个 TextBox - 我可能在那里有一组不同的控件(或绑定控件)。它也不适用于绑定,看起来像.. :(
    • 仅它的数据模板,我认为它应该与数据绑定一起使用,但在您的情况下,其他控件依赖项可能会为数据绑定带来问题。不确定。谢谢。
    • 这不适用于 WinRT,我怀疑它适用于 Silverlight 或 WPF。
    • @Trisped ..上述问题不适用于 wpf 和 silverlight ..阅读“此 ListView.ItemContainerStyle IsSelected 属性似乎不会影响 WinRT 上的选择”...我知道我的答案不起作用用于绑定..但它适用于 winrt 中的选择..看来您是 xaml 的新手,这就是您假设 wpf、silverlight 和 winrt 相同的原因。谢谢
    猜你喜欢
    • 2012-01-03
    • 2013-08-12
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 2020-12-21
    相关资源
    最近更新 更多