1

我想知道是否有办法将 Command 属性附加到 HubTile(来自 Windows Phone Toolkit),我的代码如下所示:

 <tk:HubTile Size="Large"
             Grid.ColumnSpan="4"
             Margin="6"
             Name="hubTileFriends"
             Title="{Binding GlobalResources.AppResources.MainPage_Tile_Friends}"/>

当我点击此 HubTile 时,我想导航到另一个页面,当我查看 MVVM Cross 示例时,导航到另一个页面的唯一方法是在视图的(页面)ViewModel 上使用命令,如下所示:

public ICommand Navigate
    {
        get { return new MvxCommand(()=> ShowViewModel<FriendsViewModel>()); }
    }

所以这意味着我应该在我的 MainPage 上的某处有一个按钮,如下所示:

<Button Command="{Binding Navigate"/>

问题是,我可以导航到另一个页面而不使用 Command 并在页面的代码中做一些事情,或者我可以将该 Command 属性附加到我的 HubTile 吗?提前谢谢

更新

<tk:HubTile Size="Large"
                    Grid.ColumnSpan="4"
                    Margin="6"
                    Name="btnFriends"
                    Title="{Binding GlobalResources.AppResources.MainPage_Tile_Friends}">
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="Tap">
                        <cmd:MvxEventToCommand Command="{Binding Navigate}"/>
                    </i:EventTrigger>
                </i:Interaction.Triggers>
            </tk:HubTile>

这成功了,Visual Studio 一直告诉我版本有问题,寻找其他地方或解决方案来解决这个问题,但不知从何而来,错误消失了。

4

1 回答 1

1

对于 WindowsPhone 和其他基于 Xaml 的平台,执行此操作的正常方法是使用 Behaviors - MvvmCross 包含一个MvxEventToCommand帮助器,您可以使用类似于 EventToCommand 的方法:http ://www.geekchamp.com/articles/binding-to -hubtile-events-using-mvvm-light-eventtocommand

于 2013-09-12T08:37:05.470 回答