带有EventToCommand的图钉

时间:2010-11-27 19:34:11

标签: windows-phone-7 mvvm-light bing-maps

我正在尝试调整Windows Phone 7 TrainingKit(http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=ca23285f-bab8-47fa-b364-11553e076a9a)中包含的UsingBingMaps示例以使用MVVM-Light工具包。我正在尝试使用EventToCommand为Pushpin的MouseLeftButtonUp事件设置命令,但该命令未执行。以下是图钉的代码:

<my:Pushpin Style="{StaticResource PushpinStyle}"                                        
Location="{Binding Location}"
Background="{Binding TypeName, Converter={StaticResource PushpinTypeBrushConverter}}">
<i:Interaction.Triggers>
  <i:EventTrigger EventName="MouseLeftButtonUp">
    <cmd:EventToCommand Command="{Binding DataContext.PushpinClickCommand, ElementName=HomePage}"/>
  </i:EventTrigger>
</i:Interaction.Triggers>
<Image Source="{Binding Icon}" />
</my:Pushpin>

我错过了什么吗?有人能够将EventToCommand与Pushpin对象一起使用吗?

1 个答案:

答案 0 :(得分:0)

你打算用这个命令做什么?

我可以使用它来获取命令,但我似乎无法从传递的参数中获取对象详细信息。

我在Silverlight中使用过这个,我认为它可以在WP7中直接使用(如果我弄错的话,请纠正我)

        <i:Interaction.Triggers>
         <i:EventTrigger EventName="MouseLeftButtonUp">
              <cmd:EventToCommand Command="{Binding Path=pinSelCommand}" PassEventArgsToCommand="True" ></cmd:EventToCommand>
         </i:EventTrigger>
    </i:Interaction.Triggers>

在我的viewmodel构造函数中我有

PolySelCommand = new RelayCommand<MouseButtonEventArgs>(PolySelCommandExecute);
在viewmodel类

public RelayCommand<MouseButtonEventArgs> pinSelCommand{ get; set; }
private voidpinSelCommandExecute(MouseButtonEventArgs e)
{
   // < Your code >
}

希望这会有所帮助。如果您弄清楚如何传递对象详细信息,请回复,因为我遇到问题on this post