我有一个silverlight列表框,我想删除当用户选择列表框中的项目时发生的颜色更改突出显示.
默认情况下,当选择某个项目时,它会突出显示该项目的浅蓝色.
我怎么能阻止这种情况发生?
作为一个附带问题,我如何将其定制为任何任意颜色?
谢谢.
您可以通过自定义ListBox项的现有控制模板来完成此操作.执行此操作的简单方法是启动Expression Blend,右键单击ListBoxItem,转到Edit Control Parts(Template)并选择Edit a Copy ...然后根据需要自定义fillColor和fillColor2矩形的填充颜色.
下面的Xaml将ListBoxItem鼠标悬停颜色设置为透明,所选颜色设置为亮绿色,但您可以根据需要自定义:
fillColor Rectangle指定当用户将鼠标悬停在ListBoxItem上时使用的颜色.在上面的代码中,我将其设置为透明,因此当您将鼠标悬停在ListBoxItem上时不会出现任何颜色.
fillColor2指定选择ListBoxItem时要使用的颜色.在上面的代码中,我指定了#FF00FF00,因此当选择ListBoxItem时,颜色将为亮绿色.
在您的情况下,您可以将fillColor2 Rectangle的Fill属性设置为Transparent,以便在用户选择项目时不模拟颜色.
如果您不想选择,可以考虑使用ItemsControl而不是ListBox.
(ItemsControl是同一控件的简单版本).
来自 http://forums.silverlight.net/post/140375.aspx