我有一个UserControl,我想用它来编辑DataGrid中的数据。 UserControl具有用于绑定的TextProperty。编辑单元格时,将显示TextProperty的内容。但是,当退出编辑模式时,我项目的TextPropery不会更新。
在这里我找到了解决方法:C# Wpf Editing Datagrid does not update it's itemsource
对于TextBox,此绑定有效。
factoryTextBox.SetBinding(TextBox.TextProperty, new Binding("Title"));
但是对于我的CustomTextBox,它仅适用于将模式设置为双向模式。
factoryTextBox.SetBinding(CustomTextBox.TextProperty, new Binding("Title") {
Mode = BindingMode.TwoWay // <--
});
为什么我的用户控件需要TwoWay,而TextBox却不需要。我想念什么吗?
答案 0 :(得分:1)
文本框的textproperty具有为其设置的元数据,使其默认情况下双向绑定。 您想要类似以下内容的东西:
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register(
"TextProperty",
typeof(string),
typeof(CustomTextBox),
new FrameworkPropertyMetadata(string.empty
, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));