我有一个我想用来在datagrid中编辑数据的usercontrol。USERCONTROL具有我用于绑定的TextProperty。在编辑单元格时,显示了文本property的内容。但是当离开编辑模式时,我的项目的文本普罗布尔不会更新。
在这里,我找到了一个解决方案:C#WPF编辑DataGrid不会更新其项目库
对于文本框,这种绑定正在工作。
factoryTextBox.SetBinding(TextBox.TextProperty, new Binding("Title"));
但是对于我的CustomTextBox,它仅适用于设置模式到Twoway模式。
factoryTextBox.SetBinding(CustomTextBox.TextProperty, new Binding("Title") {
Mode = BindingMode.TwoWay // <--
});
为什么我需要twoway来进行用户控制,而不是文本框。我想念什么吗?
文本框的文本普罗伯蒂具有元数据设置,以使其默认情况下绑定了twoway。您想要非常大致喜欢的东西:
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register(
"TextProperty",
typeof(string),
typeof(CustomTextBox),
new FrameworkPropertyMetadata(string.empty
, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));