我有一个课程:
public class Person {
public string Name { set; get; }
}
我实例化了该班的2个人:
Person person1 = new Person() { Name="Test1" };
Person person2 = new Person() { Name="Test2" };
在Window.xaml中,我有两个文本框要与两个人对象绑定
<Grid>
<TextBox />
</Grid>
<Grid>
<TextBox/>
</Grid>
但是我是WPF的新手,不知道该怎么做。
我尝试过
<Grid DataContext="{Binding person1}">
<TextBox Text="Binding Name"/>
</Grid>
<Grid DataContext="{Binding person2}">
<TextBox Text="Binding Name"/>
</Grid>
没有工作。 试过
<Grid>
<TextBox Text="Binding person1.Name"/>
</Grid>
<Grid>
<TextBox Text="Binding person2.Name"/>
</Grid>
没用。
我可以绑定一个在Window1.cs中设置DataContext的人
但是我无法(或不知道如何)在Window1中将2个人设置为DataContex。
答案 0 :(得分:-2)
请首先这样设置数据上下文。
Person person1 = new Person() { Name="Test1" };
Person person2 = new Person() { Name="Test2" };
DataContext = new
{
Person1 = person1,
Person2 = person2
};
像这样设计侧面绑定数据之后。
<Grid>
<TextBox Text="{Binding Person1.Name,Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
<Grid>
<TextBox Text="{Binding Person2.Name,Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
或(您只能在设计方面进行更改)
<Grid DataContext="{Binding person1}">
<TextBox Text="{Binding Name,Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
<Grid DataContext="{Binding person2}">
<TextBox Text="{Binding Name,Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"/>
</Grid>