UWP中的自定义MarkupExtension

超级JMN

我想创建自己的MarkupExtension(例如BindingTemplateBinding...)

如何像在WPF中一样为通用应用程序做到这一点?

佩特·黑塞尔伯格

我很难过,但没有。UWP当前支持自定义标记扩展。

在某些情况下,您可以通过使用绑定和转换器来解决此问题。例如,要使用资源字符串(不使用x:Uid),我有一个转换器实际上不需要值,仅需要一个参数(资源ID)。

例如,我可能绑定如下:

<TextBlock
    Text="{x:Bind Language, Mode=OneWay, Converter={StaticResource Localize}, ConverterParameter=MyResourceId}"
/>

(此绑定不需要路径,但Language无论如何我都绑定了,这允许即时切换语言。)

更多关于LocalizeConverter这里

但无论如何。如果我一直在做WPF,那将是标记扩展。Binding当然,它本身是标记扩展,因此只要您可以在其约束内工作,这便是可能的解决方法。

编辑

我只想强调Clemens在他对OP的评论中给予的链接:

https://wpdev.uservoice.com/forums/110705-universal-windows-platform/suggestions/7232264-add-markup-extensions-to-and-improve-winrt-xaml

更新

现在对自定义标记扩展的支持有限(迈克尔·霍克评论的帽子提示。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章