2013-06-21 36 views
6

Tôi đang cố gắng sử dụng lửa MvxCommand with CommandParameter, nhưng phải đối mặt với vấn đề sau đây: MyView.axml chứa:Sử dụng MvxCommand Với CommandParameter ràng buộc

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button1" 
     local:MvxBind="Click MyCommand, CommandParameter=foo" /> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button2" 
     local:MvxBind="Click MyCommand, CommandParameter=bar" /> 
</LinearLayout> 

MyViewModel.cs:

public class MyViewModel : MvxViewModel 
{ 
    public ICommand MyCommand { get; private set; } 

    public MyViewModel() 
    {         // param is null 
     MyCommand = new MvxCommand<string>(param => 
     { 
      if (param == "foo")    
      { 
      // do something 
      } 
      else if (param == "bar") 
      { 
      // do something else 
      } 
     }); 
    } 
} 

Nhưng khi tôi kiểm tra param biến là null.

Tôi đang làm gì sai?

Trả lời

8

Mã của bạn đang hoạt động đối với tôi trên phần đầu của cây nguồn.

Nhưng chức năng này chỉ mới được hai tuần.

Tôi đoán là tính năng này không được đưa vào bản phát hành mà bạn đang làm việc hoặc có lỗi với nó.

Bạn có thể kiểm tra theo dõi gỡ lỗi của mình cho ràng buộc này không? Có thông tin nào không?

  • Nếu theo dõi gợi ý rằng CommandParameter là biểu tượng không xác định thì phỏng đoán của tôi là bạn cần tự xây dựng nguồn mới nhất - hoặc chờ bản phát hành mới.
  • Nếu theo dõi gợi ý điều gì khác thì bạn có thể vá lỗi trong khi thiết lập.

Một điều tôi biết chúng tôi đã sửa chữa là một vấn đề chuyển đổi giá trị nơi Cirrious.MvvmCross.Binding.dll dựa ValueConverter 's đã không được chỉ bằng cách ghi đè Setup.ValueConverterAssemblies để đăng ký ValueConverter cần cho điều này CommandParameter

+0

Bạn nói đúng, Stuart ! Cần xem nhật ký: ** MvxBind: Cảnh báo: 132,54 Không tìm thấy trình chuyển đổi tên CommandParameter I/MvxBind (18314): 132,53 Không tìm thấy trình chuyển đổi tên CommandParameter I/mono-stdout (18314): MvxBind : Cảnh báo: 132,53 Không thể tìm thấy bộ chuyển đổi tên CommandParameter ** Khi nào cần phát hành bản phát hành gần đây? –

+0

@Stuart Tôi đang thử cùng một địa phương: MvxBind = "Nhấp vào OnRemoveClick, CommandParameter =." 'Tôi nhận được như vậy". " trong khi thực hiện commmand. bất kỳ ý tưởng xin vui lòng? – RIYAZ

+0

xin lỗi - không có vẻ như bạn đang nhận được "giống" như câu hỏi này năm 2013. có thể giải thích tốt nhất vấn đề của bạn đầy đủ trong một câu hỏi mới? – Stuart

Các vấn đề liên quan