[英]xaml How to bind to a different source?
我在C#代码中设置Items
,如下所示:
this.DefaultViewModel["Items"] = items;
并且我已经在xaml
页面中定义了它,如下所示:
DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}"
现在我可以在GridView
使用Items
<GridView ItemsSource="{Binding Items}">
<GridView.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding customWidth}">
<!-- The rest-->
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
但是问题是我希望内部网格使用其他来源:
this.DefaultViewModel["customWidth"] = 300;
如何使内部网格使用与其父级GridView不同的源? 谢谢。
您可以为页面命名(例如x:Name =“ myPage”),然后
<GridView ItemsSource="{Binding Items}">
<GridView.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding DefaultViewModel.customWidth, ElementName=myPage}">
<!-- The rest-->
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
也就是说,可以使用ElementName退出当前的绑定范围。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.