为什么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
复制相似问题