如何从itemTemplate gridview绑定父属性?
<GridView ItemsSource="{Binding UsersViewModel}" ItemTemplate="{StaticResource UsersTemplate}">
<DataTemplate x:Key="UsersTemplate">
<ListView VerticalAlignment="Top" ItemsSource="{Binding Users}"
Height="{Binding Window.Current.Bounds.Height}"
Width="{Binding PARENT?.ColWidth}"
ScrollViewer.VerticalScrollBarVisibility="Visible"
ItemTemplateSelector="{StaticResource UserTemplateSelector}"
ItemContainerStyle="{StaticResource LvItemStyle}" >
</ListView>
</DataTemplate>
ColWidth属性在UsersViewModel中定义
答案 0 :(得分:0)
您的 Xaml 代码的某些内容感觉不对,因为您将GridView
的{{1}}绑定到感觉像ItemSource
的{{1}} {1}}而不是收藏! (UsersViewModel
应绑定到集合)。
如果property
确实是一个类对象的集合,其中包含ItemSource
属性,那么UsersViewModel
中的一个简单绑定应该可以解决问题,
ColWidth
现在如果DataTemplate
是Width="{Binding ColWidth}"
的{{1}},那么你的代码应该看起来像那样,
UsersViewModel
在这种情况下,如果在GridView
对象中定义了DataContext
属性,那么从子级访问父级<GridView DataContext="{Binding UsersViewModel}" ItemsSource="{Binding ACollectionInsideUsersViewModel}" ItemTemplate="{StaticResource UsersTemplate}">
的最简单方法是使用ColWidth
绑定:
UsersViewModel