【问题标题】:Custom MarkupExtension in UWPUWP 中的自定义标记扩展
【发布时间】:2017-05-05 20:19:00
【问题描述】:

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

我怎样才能像在 WPF 中那样为通用应用做到这一点?

【问题讨论】:

标签: c# .net xaml uwp markup-extensions


【解决方案1】:

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

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

例如,我可能会这样绑定:

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

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

More about the LocalizeConverter here.

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

编辑

我只想强调克莱门斯在他对 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 的评论的提示。)

【讨论】:

猜你喜欢
  • 2011-02-13
  • 1970-01-01
  • 2018-03-04
  • 2011-04-19
  • 1970-01-01
  • 2015-05-18
  • 1970-01-01
  • 2023-01-23
  • 2022-11-10
相关资源
最近更新 更多