0

我是 WPF 和绑定东西的新手。我试图找到解决我的问题的方法,但仍然缺少一些东西;/我想从 UserControl 中的 TextBox 获取数据,并将其放入主窗口中的属性中,以使其正常工作,但其他不是 ;/

我有一个简单的课程

public class User
{
    public string Name {get; set;}
    public string Age {get; set;}
}

和一个名为 UserDetails 的简单用户控件,带有两个 TextBox

<TextBox Text="{Bind Name}" />
<TextBox Text="{Bind Age}" />

UserDetails UC 放置在主窗口上,如下所示:

<uc:UserDetails DataContext="{Binding User, Mode=TwoWay}" />

在 MainWindow ViewModel 我有一个属性

public User User { get; set;}

在 MainWindow 上还有一个按钮,单击时应使用来自 UserDetials UC 的数据填充 User 属性。现在已经很晚了,我需要在早上完成它,所以任何直接的解决方案都会受到赞赏。

任何想法如何做到这一点?上面的例子很简单,但是如果你能告诉我怎么做,我可以处理剩下的问题。

4

2 回答 2

1

以下是一些可以尝试的事情:

  • 确保将视图模型设置为 MainWindow 的 DataContext。即使您没有为视图模型使用单独的类而只是使用代码隐藏,您也需要分配 DataContext。
  • 这可能只是一个错字,但在你的文本框中,你已经写{Bind Name}了应该{Binding Path=Name, Mode=TwoWay}和时代一样的时间。您需要在属性上将绑定模式设置为两种方式,而不是在示例中的类上。
于 2012-06-28T22:06:54.407 回答
0

您需要实现 INotifyPropertyChanged 接口并在属性设置器中触发 PropertyChanged 事件。你需要为你MainViewModelUser班级做这件事。这是如何完成的示例

于 2012-06-28T23:36:44.680 回答