为什么DelegateCommand不能在我的Listview中工作
<ListView>
<ListView.ItemTemplate>
<DataTemplate>
<Button Command="{Binding OpenCommand}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>但是当我把我的按钮放在我的列表视图之外的时候,它就能工作了。我做错什么了?
也许有ListView.ItemCommand Event在Windows-Store Apps
发布于 2013-10-04 22:18:41
这是因为在ItemTemplate中绑定时,数据文本是当前项,而不是ListView的数据上下文。如果要使用ListView的数据文本,可以这样做:
<Button Command="{Binding DataContext.OpenCommand, RelativeSource={RelativeSource AncestorType=ListView}}" />由于Windows应用程序无法使用AncestorType,所以使用ElementName应该有效:
<ListView Name="myListView">
<ListView.ItemTemplate>
<DataTemplate>
<Button Command="{Binding DataContext.OpenCommand, ElementName=myListView}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>https://stackoverflow.com/questions/19191038
复制相似问题