假设我有SomeExtension
MarkupExtension。有谁知道如何将它分配给 C# 代码中的属性?
例如,在 XAML 中我有:
<TextBlock Text="{l:Translate LocalizedByMarkupExtension}" />
我想使用 C# 代码做同样的事情。
假设我有SomeExtension
MarkupExtension。有谁知道如何将它分配给 C# 代码中的属性?
例如,在 XAML 中我有:
<TextBlock Text="{l:Translate LocalizedByMarkupExtension}" />
我想使用 C# 代码做同样的事情。
在您的示例中,您的 TranslateExtension 将需要实现一个采用单个参数的构造函数。所以你只需要像这样将值传递给构造函数:
TranslateExtension ext = new TranslateExtension("LocalizedByMarkupExtension");
可以使用关联的 TypeConverter 或特殊的 Xaml 值转换器来转换参数。但是,如果您只是传递字符串,那么上面应该可以工作。
然后你会调用ProvideValue方法来获得结果。