首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在另一个属性更改时更改Silverlight自定义控件的样式

在另一个属性更改时更改Silverlight自定义控件的样式
EN

Stack Overflow用户
提问于 2010-07-25 16:31:03
回答 1查看 653关注 0票数 0

在WPF自定义控件中,我使用触发器机制根据该自定义控件的另一个属性实现自定义控件的外观更改,例如当我的自定义控件更改其属性AStatus以将其背景色更改为Green时。

代码语言:javascript
运行
复制
<Trigger Property="AStatus" Value="Available">
    <Setter TargetName="PART1" Property="Background" Value="Green"/>
    <Setter TargetName="PART_Backgr" Property="Background" Value="Green"/>
</Trigger> 

但是Silverlight缺乏触发了功能。为了改变银灯中自定义控件的外观,应该使用VisualStateManager。但是在VisualStateManager.的帮助下,我找不到实现这个条件的方法。

当此自定义控件的另一个属性发生更改时,如何实现更改Silverlight自定义控件的样式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-25 21:08:06

你有两个合理的选择:

1)在属性"AStatus“的支持代码中(您可能希望创建一个依赖项属性),使用VisualStateManager切换到一个新的VisualState。但是,在使用这种技术时,还没有像WPF那样的完全XAML解决方案。创建一个表示要使用的样式/设置器(非常类似于触发器)的VisualState。

这里是我博客中的一个例子。

2)如果使用Blend 4,则可以使用DataStateBehavior执行可以手动完成的工作(如选项1中所示)。您可以下载共混4 SDK来使用XAML (或可视化设计器)进行这些类型的更改。

不过,如果编写自定义控件以最小化对其他程序集的依赖,则通常使用#1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3330010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档