我使用可编辑标签控件(带有覆盖模板属性的标签;您在此处看到的完整代码:http: //www.nathanpjones.com/wp/2012/09/editable-label-in-wpf/)。
我用这种风格创建了自己的标签控制类。EditableLabelControl 类扩展了 Label 类,因此 EditableLabelControl 具有 Content 属性。
public partial class EditableLabelControl : Label
{
//...
}
之后,我把这个可编辑的标签放在我的自定义控件中,并将它绑定到模型的MyValue属性。
<controls:EditableLabelControl Content="{Binding Path=MyValue, Mode=TwoWay}" />
它正确显示模型值,但是当我在文本框中进行编辑时,它仅更新 Content 属性(模型的MyValue属性不会更新)。
我尝试为文本框编写 LostFocus 处理程序,但没有帮助。
var bindingExpression = ((TextBox)sender).GetBindingExpression(TextBox.TextProperty);
if (bindingExpression != null)
{
bindingExpression.UpdateSource();
}
我的错误在哪里?感谢您的回答,并为我糟糕的英语感到抱歉。