0
A
回答
0
有几种可能的解决方案。
首先,你可以订阅一个变化处理程序控件的属性Style
如果想在你的C#代码某处通知:
DependencyPropertyDescriptor.FromProperty(Button.StyleProperty, typeof(Button))
.AddValueChanged(btn, (s, e) =>
{
// Style has changed.
});
(不要忘了打电话.RemoveValueChanged()
大功告成了。 )
另一种方法是创建一个Binding
,其源路径设置为您的控件的Style
。绑定目标例如可以是某种自定义控件或您想要对更改作出反应的ViewModel。或者,如果您没有任何可用的资源,则可以将绑定目标设置为Tag
属性,并使用ValueConverter
来拦截使用类似Tag="{Binding Style, ElementName=btn, Converter={StaticResource MyStyleInterceptor}}"
之类的更改。
如果您不想滥用Tag
,您也可以为此创建自定义附加属性。
相关问题
- 1. WPF - 脱节的控制需要沟通
- 2. 通知收件箱样式
- 3. WPF,多种控件的字体样式
- 4. 禁用控件的DataGridTemplateColumn样式WPF
- 5. 需要一个WPF控件建议
- 6. WPF窗口和控件样式
- 7. 将控件添加到样式wpf
- 8. 用户控件按钮 - 样式 - WPF
- 9. Metro选项卡控件样式WPF
- 10. wpf用户控件阻止样式
- 11. 我需要这样的Wpf树视图
- 12. ckeditor的通知样式
- 13. 需要显示Toastr通知jQuery插件
- 14. PHP IF条件通知需要
- 15. WPF - 在另一个控件中隐式地控制样式
- 16. 需要帮助覆盖WPF按钮样式的背景颜色。
- 17. WL.Server.notifyAllDevices需要在通知
- 18. UILocalNotification - 需要提醒/通知
- 19. 需要发送通知
- 20. 需要推送通知
- 21. webpack2动态样式文件需要
- 22. 需要控制窗口的WPF应用
- 23. 需要CSS3按钮样式
- 24. CSS样式帮助需要
- 25. 发球需要CSS样式
- 26. 需要验证html样式
- 27. ios5通知提醒样式
- 28. Rails 3 Flash通知样式
- 29. 在WPF中设置自定义控件的隐式样式
- 30. WPF自定义控件中模板部件的样式
你是什么意思的“当风格改变”?因为您不能动态更新控件的样式。您可以根据触发器更新某些属性,但不能将新样式重新分配给控件。 –
可能[OnApplyTemplate](https://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.onapplytemplate(v = vs.110).aspx)是您需要的。每次设置样式时都会调用该控件的该方法。 – gomi42
@Evangelink您可以更改任何WPF控件的'Style' [尽可能多次](https://msdn.microsoft.com/en-us/library/ms745683(v = vs.110).aspx)在你的XAML或C#代码中。 – haindl