walterlv / BlogComments

3 stars 0 forks source link

post/add-wpf-xaml-binding-support-for-clr-property #134

Open utterances-bot opened 1 year ago

utterances-bot commented 1 year ago

WPF 让普通 CLR 属性支持 XAML 绑定(非依赖属性),这样 MarkupExtension 中定义的属性也能使用绑定了 - walterlv

如果你写了一个 MarkupExtension 在 XAML 当中使用,你会发现你在 MarkupExtension 中定时的属性是无法使用 XAML 绑定的,因为 MarkupExtension 不是一个 DependencyObject。 本文将给出解决方案,让你能够在任意的类型中写出支持 XAML 绑定的属性;而不一定要依赖对象(DependencyObject)和依赖属性(DependencyProperty)。

https://blog.walterlv.com/post/add-wpf-xaml-binding-support-for-clr-property.html

WenLiHou commented 1 year ago

net 6 中 好像绑定无效啊,framework不知道管不管用,没试

CodingOctocat commented 1 year ago

自定义的依赖属性为什么没有智能感知?按理讲不应该啊,大佬能否提供下思路?

最近想写个一行代码绑定事件命令的东东,做法是封装微软的Xaml Behaviors,利用附加属性+自定义 Markup 扩展,达到这样的使用效果: b:EventToCommand.Click="{b:Bind Command={Binding MyCommand} Parameter=... ...}" 这里的 Command 按本文方法使其可以绑定了,但是没有智能感知。