Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.android mvxspinner不更改我的viewmodel中的显示值_Xamarin.android_Mvvmcross - Fatal编程技术网

Xamarin.android mvxspinner不更改我的viewmodel中的显示值

Xamarin.android mvxspinner不更改我的viewmodel中的显示值,xamarin.android,mvvmcross,Xamarin.android,Mvvmcross,我有一个按钮来更改mvxspinner,但在我的视图模型中,我无法更改mvxspinner中显示的值。例如: 我在布局中有mvxspinner和按钮: <MvxSpinner style="@style/SpinnerField.Filter" android:id="@+id/filter_listacliente_spinner_bairro" local:MvxBind="ItemsSource ListaBairro;SelectedItem F

我有一个按钮来更改mvxspinner,但在我的视图模型中,我无法更改mvxspinner中显示的值。例如:

我在布局中有mvxspinner和按钮:

<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"/>
My
选择编辑项

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

        RaisePropertyChanged(() => FiltroEstado);
    }
}
此操作的结果:我的显示没有任何更改:(


预期结果:我的显示有一个描述“Estado”选中

您正在设置私有变量
\u filterostado
,在
limparfilteros
内。因此,公共
filterostado
属性上的
未触发,并且
RaiseProperty更改

您正在寻址支持字段
\u filterostado
不会导致
FiltroEstado
属性集中的
RaisePropertyChanged
引发
INotifyPropertyChanged
事件。因此,不会将更改通知视图

返回新的MvxCommand(()=>
{
_filterostato=newestadodto{IdEstado=-1,descripcao=“Estado”};
});

此外,
SelectedItem
的引用需要来自绑定的
ItemsSource
列表。因此,您可以执行以下操作:

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

Sry,我改变了我的问题我改变了我的问题,我没有用filterostado来设置values@user1875730问题在于,您正在将
SelectedItem
设置为一个对象引用,而该对象引用与
ListaBairro
不存在,即您的
项目资源
。请参阅我上面回答中的附加注释。
SelectedItem
需要存在于
项资源中
。调试在我的ViewModel中,找到此警告>“MvxBind:Warning:577.84未找到微调器JWRConsultoria.AFV.JForce.Core.Application.Dtos.EnderecoDto的值”Yep,如果要选择新项目,首先需要将其添加到绑定到
ItemsSource
的列表中,然后再将其设置为
SelectedItem
return new MvxCommand(() =>
{
    FiltroBairro = ListaBairro.FirstOrDefault(x => x.IdEstado == -1);
});