代码之家  ›  专栏  ›  技术社区  ›  ironic

如何使用C代码中的标记扩展?

  •  3
  • ironic  · 技术社区  · 14 年前

    假设我有 SomeExtension 标记扩展。是否有人知道如何从C代码将其分配给属性?

    例如,在XAML中,我有:

    <TextBlock Text="{l:Translate LocalizedByMarkupExtension}" />
    

    我想用C代码来做同样的事情。

    1 回复  |  直到 11 年前
        1
  •  1
  •   CodeNaked    14 年前

    在您的示例中,translateExtension需要实现一个采用单个参数的构造函数。所以您只需要将值传递给构造函数,如下所示:

    TranslateExtension ext = new TranslateExtension("LocalizedByMarkupExtension");
    

    可以使用关联的类型转换器或特殊的XAML值转换器转换参数。但是,如果您只是传递字符串,那么上面的内容就可以工作了。

    然后你会打电话 ProvideValue 方法获取结果。

    推荐文章