XAML设置多个上下文
时间: 2023-07-04 20:07:18 浏览: 52
在XAML中,可以使用`x:Name`属性为元素命名,然后使用`DataContext`属性将元素的上下文设置为相应的数据对象。
例如,以下XAML代码中,`Grid`元素和`TextBlock`元素都设置了`DataContext`属性,`Grid`的上下文是`Person`对象,`TextBlock`的上下文是`Name`属性:
```XAML
<Grid x:Name="PersonGrid" DataContext="{Binding Person}">
<TextBlock Text="{Binding Name}" DataContext="{Binding Name}" />
</Grid>
```
在这个例子中,`TextBlock`的上下文是`Name`属性,因为我们想要显示`Person`对象的姓名。
如果我们想要在同一个`Grid`中显示`Person`对象的姓名和年龄,我们可以使用一个`StackPanel`元素来包含两个`TextBlock`元素,每个`TextBlock`元素的上下文分别设置为`Name`和`Age`属性:
```XAML
<Grid x:Name="PersonGrid" DataContext="{Binding Person}">
<StackPanel>
<TextBlock Text="{Binding Name}" DataContext="{Binding Name}" />
<TextBlock Text="{Binding Age}" DataContext="{Binding Age}" />
</StackPanel>
</Grid>
```
这样,我们就可以在同一个`Grid`中显示`Person`对象的姓名和年龄,而不需要为每个元素都创建一个新的上下文。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)