禁用MT.Dialog中的按钮并更改图像

时间:2013-09-11 06:46:33

标签: ios xamarin monotouch.dialog

任何人都可以帮忙,我想改变我的形象(按钮),当我按下我的按钮时我打开MT.Dialog然后我登录,当我登录时我想要按钮改变我怎么做,我有找到了代码,但它在MT.Dialog中不起作用 我就是这样做的。

    cmdLogin.TouchUpInside += delegate { 
      cmdLogin.SetImage(UIImage.FromFile("Images/Logout.png"), UIControlState.Normal);
    };

并且我尝试了隐藏的东西(但是不起作用)

    if(cmdLogin.Hidden == True)
    {
       cmdLogout.Enabled;
    }else{
       cmdLogout.Hidden;
    }

但是这在MT.Dialog ofcourse中不起作用,因为我没有对我的字符串元素做任何事情(我的字符串元素得到名称登录,如果有人得到一个良好的登录链接系统w /数据库非常有帮助。

和当然是我的MT.Dialog代码

    cmdLogin.TouchUpInside += delegate {

            _window.RootViewController = new DialogViewController(new RootElement("Login") {

                    new Section ("B.V. Electronic"){
                    (password = new EntryElement ("Password", "", "", true))
                },
                new Section () {
                    (login = new StringElement ("Login", delegate {
                        if(password.Matches("1234")){

                            GoBackToView();

                        }else{
                            new UIAlertView("Wrong code", "It's the wrong code", null, "Ok", null).Show();

                        }
                    }))
                },
                new Section (){
                    new StringElement ("Cancel", delegate {
                        GoBackToView();
                })
                }


            });
        };

1 个答案:

答案 0 :(得分:1)

我并不清楚你想要做什么。但是,我有一个建议是看看这个:

https://github.com/xamarin/prebuilt-apps/tree/master/FieldService

这是一个由Xamarin构建的示例应用程序,它有一个很好的登录屏幕,您可以尝试从中获取一些想法。它没有使用Monotouch.Dialog作为登录屏幕,所以如果你想要,你可以看看:

http://docs.xamarin.com/recipes/ios/content_controls/tables/create_a_login_window_using_monotouch.dialog

您的代码与此类似,但看起来您修改了一下。

如果要更改Login StringElement,则需要对其进行修改,然后再调用Root.Reload(login, UITableViewRowAnimation.Automatic);。我不认为有一种简单的方法可以更改StringElement的背景图像。您需要创建自己的StringElement子类并自定义GetCell()例程。你可以参考这个SO问题来获得更多的想法:

How can I create a custom styled EntryElement with MonoTouch.dialog?

我希望有所帮助。