2017-04-20 23 views
0

私のmvxspinnerを変更するボタンがありますが、私のビューモデルでは私のmvxspinnerに表示されている値を変更することはできません。たとえば、次のようにmvxspinnerは私のviewmodelの表示値を変更しません

私はmvxspinnerやボタンレイアウトであります

public ICommand LimparFiltros 
{ 
    get 
    { 
     return new MvxCommand(() => 
     { 

      FiltroEstado = new EstadoDto { IdEstado = -1, Descricao = "Estado" }; 

     }); 
    } 
} 
:私の ICommand

<MvxSpinner 
     style="@style/SpinnerField.Filter" 
     android:id="@+id/filter_listacliente_spinner_bairro" 
     local:MvxBind="ItemsSource ListaBairro;SelectedItem FiltroBairro;" 
     local:MvxItemTemplate="@layout/filter_spinner_bairro" 
     local:MvxDropDownItemTemplate="@layout/filter_item_spinner_bairro" /> 

<Button 
     android:id="@+id/filter_listacliente_btlimpar" 
     android:theme="@style/DefaultButton" 
     local:MvxBind="Click LimparFiltros" 
     style="@style/DefaultButtonFilter"/> 

を、私は私の値に "エスタード" とIDを "-1" に変更してみました

マイSelectedItem

var _filtroEstado = new EstadoDto(); 
public EstadoDto FiltroEstado 
{ 
    get { return _filtroEstado; } 
    set 
    { 
     _filtroEstado = value; 

     RaisePropertyChanged(() => FiltroEstado); 
    } 
} 

結果FO r this:私のディスプレイの変化はありません。

期待される結果:私のディスプレイは「エスタードは、」あなたはLimparFiltrosの内側に、あなたのプライベート変数、_filtroEstadoを設定している

答えて

1

イベントを発生させるようにFiltroEstadoプロパティ内のRaisePropertyChangedが発生しないように、バッキングフィールド_filtroEstadoをアドレス指定しています。だから、決してその変更を通知することはできません。

return new MvxCommand(() => { _filtroEstado = new EstadoDto { IdEstado = -1, Descricao = "Estado" }; });

また、SelectedItemのための参照は、バインドされItemsSourceリストを形成してくる必要があります。したがって、あなたが何かを行うことができます:

return new MvxCommand(() => 
{ 
    FiltroBairro = ListaBairro.FirstOrDefault(x => x.IdEstado == -1); 
}); 
+0

私の質問を変更しました'ListaBairro '、つまりあなたの' ItemsSource'には存在しない参照です。上記の私の答えに追加のコメントを参照してください。 'SelectedItem'は' ItemsSource'内に存在する必要があります。 – user1875730

+1

@ user1875730値を設定するために_filtroEstadoを使用していない私の質問を変更し – Plac3Hold3r

+0

debuggin私のViewModelは、これを見つける> "MvxBind:警告:577.84スピナーの値が見つかりませんJWRConsultoria.AFV.JForce.Core.Application.Dtos.EnderecoDto" – user1875730

0

を説明を選択しました。その結果、公開されているFiltroEstadoプロパティのsetは発生しておらず、いずれもRaisePropertyChangedではありません。

+0

Srryを、私は、私は問題はあなたがオブジェクトに 'SelectedItem'を設定していることである – user1875730

関連する問題