Xamarin.android mvxspinner不更改我的viewmodel中的显示值
我有一个按钮来更改mvxspinner,但在我的视图模型中,我无法更改mvxspinner中显示的值。例如: 我在布局中有mvxspinner和按钮: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
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);
});