C#WPF / DataGrid:是否有TextBox提供了UserControl没有提供的功能

时间:2019-02-23 14:38:16

标签: c# wpf datagrid

我有一个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却不需要。我想念什么吗?

1 个答案:

答案 0 :(得分:1)

文本框的textproperty具有为其设置的元数据,使其默认情况下双向绑定。 您想要类似以下内容的东西:

  public static readonly DependencyProperty TextProperty =
   DependencyProperty.Register(
     "TextProperty",
     typeof(string),
     typeof(CustomTextBox),
     new FrameworkPropertyMetadata(string.empty
 , FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));