Xaml 数据绑定ListView项模板用户控件
我的Windows通用页面上有一个列表视图。我正在使用UserControl定义我的ItemTemplate,这样我就可以使用RelativePanel和VisualStateManager根据屏幕大小控制我的项目的显示方式Xaml 数据绑定ListView项模板用户控件,xaml,win-universal-app,Xaml,Win Universal App,我的Windows通用页面上有一个列表视图。我正在使用UserControl定义我的ItemTemplate,这样我就可以使用RelativePanel和VisualStateManager根据屏幕大小控制我的项目的显示方式 <ListView ItemsSource="{Binding Path=AllThings}" ItemContainerStyle="{StaticResource ListViewItemStyle}"> <ListVie
<ListView ItemsSource="{Binding Path=AllThings}"
ItemContainerStyle="{StaticResource ListViewItemStyle}">
<ListView.ItemTemplate>
<DataTemplate>
<local:CrossingControl />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我在UserControl中有一个按钮,我想将其命令绑定到ViewModel中的一个命令属性,该属性是列表本身的DataContext
<UserControl ...>
<RelativePanel>
<StackPanel x:Name="crossedEntryPanel">
<Button Command="{Binding DataContext.DeleteCommand,
RelativeSource={RelativeSource Mode=TemplatedParent}}"
CommandParameter="{Binding}"
您可以使用Tag
属性保存ListView
的DataContext
,并在UserControl
这是怎么做的
<ListView ItemsSource="{Binding Path=AllThings}" x:Name="listview"
ItemContainerStyle="{StaticResource ListViewItemStyle}">
<ListView.ItemTemplate>
<DataTemplate>
<local:CrossingControl Tag="{Binding DataContext,ElementName=listview}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<UserControl x:Name="usercontrol" ...>
<RelativePanel>
<StackPanel x:Name="crossedEntryPanel">
<Button Command="{Binding Tag.DeleteCommand,ElementName=usercontrol}"
CommandParameter="{Binding}"
这个怎么样:恐怕不能完全解决我的问题。windows Universal中似乎没有具有祖先类型的relativesource。将删除命令
移动到交叉控件
中如何?