gpt4 book ai didi

c# - UWP 中的自定义 MarkupExtension

转载 作者:太空狗 更新时间:2023-10-30 01:01:10 24 4
gpt4 key购买 nike

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

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

最佳答案

我有一个悲伤,但没有。 UWP 目前不支持自定义标记扩展。

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

例如,我可能会绑定(bind)如下:

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

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

More about the LocalizeConverter here .

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

编辑

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

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

更新

There is now limited support for custom markup extensions ! (向 Michael Hawker 的评论致敬。)

关于c# - UWP 中的自定义 MarkupExtension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41245320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com