Ste*_*oix 3 xamarin.ios ios mvvmcross
MvvmCross从a UIBarButtonItem到a 创建绑定的正确方法是MvxCommand什么?
这对我不起作用 - >
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
this.AddBindings (new Dictionary<object, string> (){
{MyButton, "{'Clicked':{'Path':'MyCommand'}}"}
});
}
Run Code Online (Sandbox Code Playgroud)
我在控制台中没有出现任何错误.我可以通过避免绑定来解决问题,但是你知道,如果所有绑定都是最好的.
Stu*_*art 11
假设在调用AddBindings之前初始化了bar按钮 - MyButton,那么我认为你的代码应该可行.
我将Conference示例中的WelcomeView中的代码修改为以下内容,它似乎有效......
var s = new UIBarButtonItem()
{
Title = "Click me"
};
NavigationItem.SetRightBarButtonItem(s, false);
this.AddBindings(new Dictionary<object, string>()
{
{ Button1, "TouchUpInside ShowSponsorsCommand" },
{ Button2, "TouchUpInside ShowExhibitorsCommand" },
{ Button3, "TouchUpInside ShowMapCommand" },
{ Button4, "TouchUpInside ShowAboutCommand" },
{ s, "Clicked ShowMapCommand" },
});
//NavigationItem.SetRightBarButtonItem(new UIBarButtonItem("Tweet", UIBarButtonItemStyle.Bordered, (sender, e) => ViewModel.DoShareGeneral()), false);
Run Code Online (Sandbox Code Playgroud)
对不起,如果这"对我有用",答案对您的机器没有帮助:/
要确保在Release模式下工作,您可能需要在UIBarButtonItem.Clicked某处添加一些代码.
如果你想从绑定中获得更多的跟踪,那么你可以设置一个诊断跟踪级别(但这可能会非常冗长).
可能值得检查一下你MyCommand是否被调用但不知何故失败 - 这可能尤其发生在诸如电子邮件,电话,推文等等并不总是在模拟器上工作的事情上.
| 归档时间: |
|
| 查看次数: |
2564 次 |
| 最近记录: |