Silverlight 在hyperlinkbutton-click事件中获取绑定对象?

Silverlight 在hyperlinkbutton-click事件中获取绑定对象?,silverlight,windows-phone-7,Silverlight,Windows Phone 7,我有一个绑定到MyViewModel类型的ObservableCollection的列表框。项目模板是一个超链接按钮。是否有方法将MyViewModel传递给HyperLinkButton.Click-event?事件有2个参数,对象发送器和RoutedEventArgs。发件人的类型为HyperLinkButton,我根本没有对绑定对象的任何引用!有没有办法将MyViewModel作为参数添加到click事件中 谢谢属性CommandParameter应该可以完成这项工作 <HyperL

我有一个绑定到MyViewModel类型的ObservableCollection的列表框。项目模板是一个超链接按钮。是否有方法将MyViewModel传递给HyperLinkButton.Click-event?事件有2个参数,对象发送器和RoutedEventArgs。发件人的类型为HyperLinkButton,我根本没有对绑定对象的任何引用!有没有办法将MyViewModel作为参数添加到click事件中


谢谢

属性
CommandParameter
应该可以完成这项工作

<HyperLinkButton Click="ClickEvent" CommandParameter={Binding} />

这应该可以工作,因为它将使用绑定到它的当前MyViewModel。然后您只需要在事件args中访问它。还有一种选择。您可以从发送方(即HyperLinkButton)获取DataContext。它将引导您找到MyViewModel实例。希望这有帮助


编辑:似乎有点奇怪,你的超链接按钮中没有对象引用。您确定它不是您需要的数据上下文吗?

属性
CommandParameter
应该执行此任务

<HyperLinkButton Click="ClickEvent" CommandParameter={Binding} />

这应该可以工作,因为它将使用绑定到它的当前MyViewModel。然后您只需要在事件args中访问它。还有一种选择。您可以从发送方(即HyperLinkButton)获取DataContext。它将引导您找到MyViewModel实例。希望这有帮助


编辑:似乎有点奇怪,你的超链接按钮中没有对象引用。您确定它不是您需要的数据上下文吗?

如果没有更多上下文,我无法确定您想要做什么,但从我读到的内容来看,您可能希望查看超链接的属性。使用命令应该允许您以比通过事件处理程序更合适的方式访问视图模型。madd0;同意使用命令!如果项目更大、更复杂,我会走这条路。好吧,但是为什么你需要一个更大的项目来使用命令呢?使用它们而不是使用事件几乎不需要任何努力……你是对的。我应该对任何项目使用命令。问题是,这是我唯一需要它的地方,所以在引入命令时感觉有点过火,但你是对的;没有一个项目对它来说太小了。如果没有更多的上下文,我无法确定您想要做什么,但是从我读到的内容来看,您可能想要查看超链接的属性。使用命令应该允许您以比通过事件处理程序更合适的方式访问视图模型。madd0;同意使用命令!如果项目更大、更复杂,我会走这条路。好吧,但是为什么你需要一个更大的项目来使用命令呢?使用它们而不是使用事件几乎不需要任何努力……你是对的。我应该对任何项目使用命令。问题是,这是我唯一需要它的地方,所以在引入命令时感觉有点过火,但你是对的;没有一个项目太小了。。