【发布时间】:2023-01-23 17:41:10
【问题描述】:
我有一个自定义的MarkupExtensionFooBinding。
public class FooBinding : MarkupExtension
{
public PropertyPath Path { get; set; }
public FooBinding(string path)
{
Path = new PropertyPath(path);
}
public FooBinding()
{
}
}
那会起作用:
<MyControl MyProperty="{foo:FooBinding Path=MyViewModel.MyViewModelProperty}"/>
那不起作用,我收到以下错误消息:
<MyControl MyProperty="{foo:FooBinding MyViewModel.MyViewModelProperty}"/>
WMC061:在“{”之后使用的类型“foo”必须是标记扩展。错误代码 0x09d7
在
wpf中可以使用ConstructorArgumentAttribute(https://learn.microsoft.com/en-us/dotnet/api/system.windows.markup.constructorargumentattribute)。winUI是否有等价物?
【问题讨论】: