假设我有 SomeExtension
MarkupExtension。有谁知道如何从 C# 代码将其分配给属性?
例如在 XAML 中我有:
<TextBlock Text="{l:Translate LocalizedByMarkupExtension}" />
我想用 C# 代码做同样的事情。
最佳答案
在您的示例中,您的 TranslateExtension 需要实现一个采用单个参数的构造函数。所以你只需要像这样将值传递给构造函数:
TranslateExtension ext = new TranslateExtension("LocalizedByMarkupExtension");
可以使用关联的 TypeConverter 或特殊的 Xaml 值转换器来转换参数。但是,如果您只是传递字符串,那么上面的方法应该有效。
然后你会调用ProvideValue获取结果的方法。
关于c# - 如何使用 C# 代码中的标记扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3872562/