C# WPF/DataGrid:TextBox 是否提供了用户控件没有提供的功能



我有一个我想用来在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));

最新更新