我有一个学生,有3个属性(名字,姓氏,年龄)。
在.xaml中(基本上是两个矩形 - 每个包含3个文本块绑定到这3个属性)。
<Border Grid.Column="0" Grid.Row="5" >
<StackPanel Orientation="Horizontal">
<Rectangle Width="16" Height="16" Name="rectangle1" />
<TextBlock Text="{Binding Mode=TwoWay, Path=FirstName}" Padding="2"/>
<TextBlock Text="{Binding Mode=TwoWay, Path=LastName}" Padding="2"/>
<TextBlock Text="{Binding Mode=TwoWay, Path=Age}" Padding="2"/>
</StackPanel>
</Border>
<Border Grid.Column="0" Grid.Row="6">
<StackPanel Orientation="Horizontal">
<Rectangle Width="16" Height="16" Fill="{Binding Converter={StaticResource AvailabilityToBrushConverter1}, Path=IsAvailable}" Name="rectangle2"/>
<TextBlock Text="{Binding Mode=TwoWay, Path=FirstName}" Padding="2"/>
<TextBlock Text="{Binding Mode=TwoWay, Path=LastName}" Padding="2"/>
<TextBlock Text="{Binding Mode=TwoWay, Path=Age}" Padding="2"/>
</StackPanel>
</Border>
在.xaml.cs
中Student student1 = new Student { FirstName = "James", LastName = "Peter", Age= 12 ,IsAvailable=true };
Student student2 = new Student { FirstName = "Mark", LastName = "Smith", Age = 20 };
在InitializeComponent之后
InitializeComponent();
DataContext = student1;
当我跑步时我得到了
詹姆斯彼得12年詹姆斯彼得12
我想要表单加载
詹姆斯彼得12年马克史密斯20
我试图使用它,但没有用:
rectangle1.DataContext=student1;
rectangle2.DataContext=student2;
如何为这两个矩形设置两个不同的值?
答案 0 :(得分:2)
Rectangles
执行不包含TextBlocks
,在StackPanel
的情况下,您应该在DataContext
上设置{{1}}。