WPF用户控件绑定获取数据

WPF用户控件绑定获取数据,wpf,binding,user-controls,Wpf,Binding,User Controls,我不熟悉WPF和装订材料。我试图找到解决问题的办法,但还是遗漏了一些东西/ 我想从UserControl中的TextBox中获取数据,并将其放在主窗口中的属性中,在它工作的过程中,但在其他过程中不工作/ 我有一节简单的课 public class User { public string Name {get; set;} public string Age {get; set;} } 还有一个名为UserDetails的简单用户控件,带有两个文本框 <TextBox Te

我不熟悉WPF和装订材料。我试图找到解决问题的办法,但还是遗漏了一些东西/ 我想从UserControl中的TextBox中获取数据,并将其放在主窗口中的属性中,在它工作的过程中,但在其他过程中不工作/

我有一节简单的课

public class User
{
    public string Name {get; set;}
    public string Age {get; set;}
}
还有一个名为UserDetails的简单用户控件,带有两个文本框

<TextBox Text="{Bind Name}" />
<TextBox Text="{Bind Age}" />
在主窗口上还有一个按钮,单击该按钮时,应使用UserDetials UC中的数据填充用户属性。 现在已经很晚了,我需要在早上之前完成,所以任何直接的解决方案都将不胜感激


有什么办法吗?上面的例子很简单,但是如果你能告诉我怎么做,我就可以解决我的其他问题。

以下是一些可以尝试的方法:

  • 确保将视图模型设置为主窗口的DataContext。即使您没有为视图模型使用单独的类,并且只是使用代码隐藏,也需要分配DataContext
  • 它可能只是一个输入错误,但在您的文本框中,您已经编写了
    {Bind Name}
    ,而它应该是
    {Binding Path=Name,Mode=TwoWay}
    ,并且与年龄相同。您需要在属性上将绑定模式设置为双向,而不是在示例中的类上

您需要实现INotifyPropertyChanged接口,并在属性设置程序中触发PropertyChanged事件。您需要为您的
MainViewModel
User
类执行此操作。下面是如何完成的一个示例。

您能显示一个屏幕截图吗?如果您是这样绑定的,则不需要单击按钮来向“用户”填充UserControl中的详细信息。您应该将用户直接绑定到usercontrol,当您更改textbox中的文本时,User上的属性将立即更改该按钮需要从User属性获取数据并将其保存在DB中。但是,当我填写两个文本框并单击按钮时,用户属性总是空的。很难发布任何屏幕截图,因为我的应用程序比上面的例子复杂得多,但问题是一样的。@suleks这不是一个免费的代码工厂,在这里你可以陈述问题,并期望SO的优秀用户以完整的代码解决方案作出响应,因为你需要完成一项任务,并且需要在早上之前完成。我们会提供帮助,通常会提供代码示例或有用的链接,但这种请求会让用户误入歧途。
<uc:UserDetails DataContext="{Binding User, Mode=TwoWay}" />
public User User { get; set;}