【发布时间】:2019-05-14 15:10:40
【问题描述】:
我使用“gridview”不仅是为了“显示”,还可以让用户与之交互,例如 单击特定项目内的按钮。 假设我的 gridview 是这样的:
<Gridview>
<Gridview.Itemtemplate>
<DataTemplate>
<StackPanel>
<Image> </Image>
<Button> </Button>
</StackPanel>
</DataTemplate>
</Gridview.Itemtemplate>
如果我按下按钮,gridview 中所有项目的每个按钮都会做同样的事情。 我们如何按下按钮并知道它属于哪个项目?
*注意:仅按下按钮不会触发“ItemIsSelected”事件,因为该项目不是单击,而是按钮。
【问题讨论】:
-
大多数情况下,您使用 MVVM 模式并将按钮绑定到
ICommand,然后在 xaml 中配置CommandParameter,这会将特定的绑定项传递给命令。写一个答案太多了,请研究 MVVM 并在需要时提出更具体的问题。 -
我确实使用了 MVVM 模式,但只是为了“干净代码”的目的,所以我猜你的意思是使用 CommandParameter 将“它属于哪个项目”传递给“参数”,但是如何创建一个参数知道它属于哪个项目?