C# 在 ;超宽带

C# 在 ;超宽带,c#,.net,xaml,uwp,markup-extensions,C#,.net,Xaml,Uwp,Markup Extensions,我想创建自己的MarkupExtension(比如Binding,TemplateBinding) 如何像在WPF中那样为通用应用程序执行此操作?我有一个sad,但没有。UWP目前不支持自定义标记扩展 在某些情况下,您可以通过使用绑定和转换器来解决这个问题。例如,要使用资源字符串(不使用x:Uid),我有一个实际上不需要值的转换器,只需要一个参数(资源id) 例如,我可以按如下方式绑定: <TextBlock Text="{x:Bind Language, Mode=OneWay,

我想创建自己的
MarkupExtension
(比如
Binding
TemplateBinding


如何像在WPF中那样为通用应用程序执行此操作?

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

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

例如,我可以按如下方式绑定:

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

(这个绑定不需要路径,但我还是绑定到
语言
,它允许动态切换语言。)

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

编辑

我只想强调一下克莱门斯在评论中与OP的联系:

更新


!!(迈克尔·霍克的评论有点夸张。)

你看到了吗?没有,我没有。已经投票了。非常感谢。恭喜,您成功了。现在有一些受支持的子集,请参见以下答案:。