none
如何用ListView实现静态文本列表 RRS feed

  • 问题

  • 想要显示一个列表,是纯文本的,当使用ListView时,当鼠标放到某一条文本记录上时,该记录状态是会改变的。会和其他记录有明显区别。

    如果把ListView的IsHitTestVisible设置成flase,则无法通过滑动查看当前屏幕显示不下的内容。

    现在用笨方法把ListViewItem的默认Style拷贝了一份到当前XAML中,然后把VisualState x:Name="PointerOver"删除,可以实现。

    不知道有没有更好的办法?另外如果我想更改一个Style里的某一个VisualState,只能把整个<Setter Property="Template">重写吗?有没有办法只改相应的VisualState?

    2013年3月14日 9:38

答案

  • Hi,

    你是按照这个做的吗?

    http://social.msdn.microsoft.com/Forums/zh-CN/winstoreappzhcn/thread/6a6f913a-001a-40c6-9fae-5e78ea0d29c4

    你用Blend将模板输出就可以找到UnselectedPointOver,修改应该很简单的。


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年3月18日 7:10
    版主

全部回复

  • Hi,

    我不推荐你使用IsHitTestVisible解决问题。最好是不要去设置这个属性。

    我自己设置ListViewItem没有遇到问题,你修改的是什么VisualState?我修改的是UnselectedPointOver。


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年3月15日 8:49
    版主
  • Hi,

    谢谢回复。我修改的是PointerOver。你是怎么修改的UnselectedPointOver?能不能贴下代码?我是把整个ListViewItem的Style拷贝到本文件一复然后删除其中的PointerOver,感觉这种方法好笨呀,有没有好的方法?

    2013年3月18日 3:26
  • Hi,

    你是按照这个做的吗?

    http://social.msdn.microsoft.com/Forums/zh-CN/winstoreappzhcn/thread/6a6f913a-001a-40c6-9fae-5e78ea0d29c4

    你用Blend将模板输出就可以找到UnselectedPointOver,修改应该很简单的。


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年3月18日 7:10
    版主
  • 嗯,看来只能是这样改了。只能把默认样式复制一遍再改了。Style可以BasedOn然后通过Setter设置单个属性一样,如果VisualStateManager也能这样,能单独Set某个VisualStateGroup的某个VisualState就好了,这样能减少很多代码。如果能提供某状态的开启/禁用属性也很好。

    谢谢您的帮助。

    2013年3月20日 6:31
  • Hi,

    那个里面有一个修改ListViewItem的方法,你在Blend中save一下,切到VS代码会自动调出来,之后按照你需要的修改就好。


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年3月20日 6:35
    版主