Silverlight:如何绑定到在代码中定义为usercontrol资源的资源

时间:2011-01-24 07:45:35

标签: silverlight windows-phone-7

我有一个字符串值,我已将其定义为用户控件'构造函数

中的资源
public void usercontrolClas()
{
    this.Resources.Add("stringState", "foo");
}

我正在尝试将此字符串作为上述usercontrol的子用户控件的XAML中的StaticResource来访问。

<Button Content={.... ,ConverterParameter={StaticResource stringState}"/>

然而这不起作用。如果我将资源添加到Application.Resources,它的工作,但我有一些状态,这是特定于usercontrol的实例,因此必须作用于usercontrol。 Anyde

1 个答案:

答案 0 :(得分:0)

{StaticResource}无效。使用{StaticResource}绑定后,资源的更改将不会被反映出来。在您的情况下,除非您在UserControl的{​​{1}}方法之后创建资源,否则该资源甚至不存在。

要完成这项工作,您需要InitializeComponent()。但遗憾的是,目前{DynamicResource}尚未提供此功能。

您可以采用其他方式创建WP7 SilverlightAttached Property来解决此限制。

行为教程: