我正在尝试实施Style Binding from this article in WPF & Silverlight。
我有一个资源字典,generic.Xaml,代码如下:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/AComponent;component/Themes/MyCustomStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
MyCustomStyles.xaml就像这样开始
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<t:ThemeColorProvider x:Key="ThemeProvider"/>
我需要获取ThemeProvider的实例来更新我在Generic.xaml中绑定的颜色/画笔。是否可以获取资源的实例键入“ThemeProvider”,以便我可以更新它?
如果您了解跨平台WPF&amp; Silverlight实现!
注意:我需要在声明Generic.xaml
的程序集中获取 之外的答案 0 :(得分:2)
如果您的资源是在generic.xaml中定义的,或者是在App.xaml中的MergedDictionaries中定义的任何资源,那么您需要使用Application.Current.Resources,例如:
BackgroundColor = (彩色)Application.Current.Resources [ “ApplicationBarBackgroundColor”]
答案 1 :(得分:1)
这可能有所帮助:
ThemeColorProvider value= (ThemeColorProvider)FindResource("ThemeProvider");
// update value