繁体   English   中英

xaml如何绑定到其他来源?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM