0

谁能帮忙,我想更改我的图像(按钮),当我按下按钮图像时,我打开 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 当然是行不通的,因为我没有对我的字符串元素做任何事情(我的字符串元素的名称为login,如果有人获得了指向带有数据库的良好登录系统的链接,那将非常有帮助。

当然这是我的 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();
                })
                }


            });
        };
4

1 回答 1

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

您的代码与此类似,但看起来您对其进行了一些修改。

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

如何使用 MonoTouch.dialog 创建自定义样式的 EntryElement?

我希望这会有所帮助。

于 2013-09-12T12:55:47.143 回答