2013-08-01 4 views
0

이 게시물은 내가 stackoverflow에 게시 한 이전 질문을 기반으로합니다. 내 문제에 대한 해결책을 찾았지만 이것이 MvvmCross 플랫폼의 버그라고 의심되기 때문에이 질문을 게시하고 있습니다. 질문은 Custom ToggleButton in Xamarin.Android에서 찾을 수 있습니다. 행동이이 단계에 따라 복제하려면 다음과 ToggleButton을 확장MvvmCross 바인딩으로 인해 예기치 않은 동작이 발생했습니다.

(I 토글 버튼으로이 문제를 발견하지만 난 다른 UI 요소와 같은 것 같다)와 클릭 이벤트에 대한 리스너 작성 :

public sealed class MyToggleButton : ToggleButton, View.IOnClickListener 
{ 
    public MyToggleButton(Context context, IAttributeSet attrs) 
     : base(context, attrs) 
    { 
     SetOnClickListener(this); 
    } 

    public void OnClick(View v) 
    { 

    } 
} 

MyToggleButton을 추가하여 .axml 파일을 볼 수 있지만 MyToggleButton의 Click 이벤트에 아무 것도 바인딩하지 않으면 중단 점 (또는 Trace 문)을 OnClick (View v) 메서드에 배치하는 것보다. 프로그램을 실행하면 중단 점에 도달해야합니다 (또는 Visual Studio의 출력 창에서 추적을 참조하십시오.) 실행을 중지하고 .axml 파일을 수정하여 Click 이벤트에 대한 바인딩을 추가합니다. local : MvxBind = " ClickCommand를 클릭하십시오. " 솔루션을 다시 실행하면 OnClick (View v)가 실행되지 않습니다 (위에서 언급 한 중단 점 또는 추적 statemant는 적중되지 않습니다). MvvmCross를 사용할 때 예상되는 동작입니까? 모든 설명을 부탁드립니다.

우 로스.

답변

0

이것은 일반적인 Java 감시자/수신기 패턴이며 MonoDroid와 상호 작용합니다.

한 번에 SetOnClickListener 한 가지만 호출 할 수 있습니다. C# 클릭 이벤트는 구현의 일부로 SetOnClickListener을 호출하며 이전 등록을 대체합니다.

관련 문제