2012-07-11 116 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