我希望这是重复的,但我似乎有搜索者阻止......
在WPF表单中,我发现自己通过大量剪切/粘贴重复指定一组一致的Binding参数,例如: -
<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%的必要情况下确定的默认值,那将是很好的[但是如果小的东西可以干净利落地完成核心目标,那么就会发生这种情况,那就是&#39; ll做得很好......]
答案 0 :(得分:1)
您只需创建一个派生的Binding
类,因为Binding
已经从MarkupExtension
派生。
public class EditorBinding : Binding
{
public EditorBinding()
{
UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
ValidatesOnDataErrors = true;
NotifyOnValidationError = true;
}
public EditorBinding(PropertyPath path)
: this()
{
Path = path;
}
}