2013-09-11 3 views
0

Может ли кто-нибудь помочь, я хочу изменить свое изображение (кнопка), когда я нажимаю кнопку buttonImage, я открываю MT.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 конечно, потому что я ничего не делать с моей строки элемента (Мой строковый элемент получил название логин и если кто-то получил ссылку на хорошую систему авторизации ж/базы данных, которая будет очень полезна.

и, конечно, здесь мой 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(); 
       }) 
       } 


      }); 
     }; 
+0

И может кто-то сказать мне, как я это делаю. У меня есть кнопка, когда я нажимаю кнопку, которую хочу передать (извините за орфографические ошибки) другому проекту/решению, чтобы он открыл этот проект. – Lobbe

ответ

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(). Вы можете обратиться к этому вопросу С.О. больше идей о том, что:

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

Я надеюсь, что помогает.

+0

Спасибо за ваш ответ, мой экран входа немного отличается, потому что я хочу убедиться, что вы ввели правильный пароль, я не знаю другого способа проверить учетные данные пароля. Также я не хочу менять свой StringElement, у меня есть кнопка входа в систему, и когда я нажимаю кнопку входа (выглядит как изображение), я открываю MTD, а когда я нажимаю логин, я возвращаюсь к представлению с моей кнопкой входа в систему, и ее нужно изменить на кнопку выхода (с изображением). Я уже получил кнопку в представлении, все, что ей нужно, чтобы быть видимым, когда я вхожу в систему, а кнопка входа в систему должна быть скрыта. Надеюсь, это имеет смысл. – Lobbe

+0

А также, это Android, и мне нужен Ios, xamarin говорит, что он не может открыть решение, потому что это android, а не Ios:/ – Lobbe

+0

Проект FieldService - это не просто андроид, он имеет оба проекта в решении. Решение не имеет ничего общего с платформой, только проекты. Возможно, он не сможет открыть проект Android, и это нормально, потому что вам это не нужно. Вы можете просто удалить это из своего решения, если хотите. – therealjohn

Смежные вопросы