在Xaml中封装重复的绑定参数
本文关键字:绑定 参数 Xaml 封装 | 更新日期: 2023-09-27 18:19:51
我希望这是重复的,但我似乎有搜索程序阻止
在WPF表单中,我发现自己通过大量的剪切/粘贴反复指定一组一致的绑定参数,例如:-
<dxe:TextEdit EditValue="{Binding Name, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, NotifyOnValidationError=True}" />
<dxe:TextEdit EditValue="{Binding Days, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, NotifyOnValidationError=True}" />
定义标记扩展(或等效但更合适的东西)的最干净的方法是什么,它允许我删除样板,并能够用例如:替换它
<dxe:TextEdit EditValue="{mine:EditorBinding Name}" />
<dxe:TextEdit EditValue="{mine:EditorBinding Days>" />
对于奖励积分,如果仍能在5%的必要情况下覆盖已建立的默认值,那将是一件很好的事情[但如果一些小事情能够以最小的麻烦干净地完成核心目标,那也会很好…]
您可以简单地创建一个派生的Binding
类,因为Binding
已经从MarkupExtension
派生而来。
public class EditorBinding : Binding
{
public EditorBinding()
{
UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
ValidatesOnDataErrors = true;
NotifyOnValidationError = true;
}
public EditorBinding(PropertyPath path)
: this()
{
Path = path;
}
}