2012-07-11 85 views
2

我定义的用户控件资源:如何更改UserControl资源?

<UserControl.Resources> 
    <ResourceDictionary> 
     <System:Double x:Key="marginAndThickenss">3</System:Double> 
    </ResourceDictionary> 
</UserControl.Resources> 

这是整个usercountol作为保证金和厚度我需要为不同的元素伟大的工作。

我的问题是,如何在运行时更改此变量?

谢谢!

回答

1
Resources["marginAndThickenss"] = newValue; 

使用

FindResource("marginAndThickenss"); 

获得资源价值

+0

感谢这个帮助。我想它是有效的,但是,它似乎改变了它所指的厚度或边距。有任何想法吗? – 2012-07-11 21:40:35

+0

你想不改变控制边界或厚度来改变变量吗? – Maxim 2012-07-12 16:58:12

+0

我认为B-Rad意味着即使认为资源值在运行时成功更改,setter属性也不会如预期的那样变化。似乎需要在窗口呈现内容之前加载资源值。在Windows_ContentRendered事件中设置资源应该解决问题。然而,这个技巧仍然不能解决它是UserControl时的问题。 – yancyn 2015-07-26 17:13:22