C# 如何在使用Xamarin的MVVM选择器中显示值
我想绑定Manufacturer对象的ObservableCollection,并在Xamarin中占据MVVM模式的选择器中显示其Name属性,但我不会在空白选择器中得到结果 此选择器显示在视图过滤器sisquimview.xaml中,如下所示C# 如何在使用Xamarin的MVVM选择器中显示值,c#,xamarin,mvvm,xamarin.forms,picker,C#,Xamarin,Mvvm,Xamarin.forms,Picker,我想绑定Manufacturer对象的ObservableCollection,并在Xamarin中占据MVVM模式的选择器中显示其Name属性,但我不会在空白选择器中得到结果 此选择器显示在视图过滤器sisquimview.xaml中,如下所示 <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xa
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
BindingContext="{Binding Main, Source={StaticResource Locator}}"
x:Class="AppValora.Views.Sisquim.FiltrosSisquimView"
Title="SISQUIM®">
<StackLayout
Orientation="Vertical"
BindingContext="{Binding Filtros}">
<Picker Title="Seleccione Fabricante"
Margin="15,5,15,5"
HorizontalOptions="FillAndExpand"
ItemsSource="{Binding Fabricantes, Mode=TwoWay}"
ItemDisplayBinding="{Binding Name}"
SelectedItem="{Binding Name}">
</Picker>
</StackLayout>
</ContentPage>
然后,在我的FilterViewModel.CS中,我声明了可观察集合,除了在构造函数中初始化它之外,它还将拥有我的选择器控制,并用一个具有两个Id和Name属性的数组填充
public ObservableCollection<Fabricante> Fabricantes { get; set; }
public FiltrosViewModel()
{
Fabricantes = new ObservableCollection<Fabricante>();
LoadFabricantes();
}
async void LoadFabricantes()
{
IsRunning = true;
//CONSUMING API...
var list = response.Fabricantes;
Fabricantes = new ObservableCollection<Fabricante>(list);
IsRunning = false;
}
如何显示值在选择器中使用Xamarin占领MVVM
我想绑定Manufacturer对象的ObservableCollection,并在Xamarin中占据MVVM模式的选择器中显示其Name属性,但我不会在空白选择器中得到结果
此选择器显示在视图过滤器sisquimview.xaml中,如下所示
如上所述,包含选择器的StackLayout在MainViewModel中声明如下
public FiltrosViewModel Filtros { get; set; }
然后,在我的FilterViewModel.CS中,我声明了可观察集合,除了在构造函数中初始化它之外,它还将拥有我的选择器控制,并用一个具有两个Id和Name属性的数组填充
public ObservableCollection<Fabricante> Fabricantes { get; set; }
public FiltrosViewModel()
{
Fabricantes = new ObservableCollection<Fabricante>();
LoadFabricantes();
}
async void LoadFabricantes()
{
IsRunning = true;
//CONSUMING API...
var list = response.Fabricantes;
Fabricantes = new ObservableCollection<Fabricante>(list);
IsRunning = false;
}
如你所见,我正确地填充了可观察的集合Fabricantes
但是如何在选择器中显示Name属性?我是MVVM的新手,我想我已经正确地将ViewModel安装到了主视图中,因为我的其他控件都可以工作
一旦用户选择了该名称,我可以拯救该名称的ID吗?有什么帮助吗?问题是这一行:
Fabricantes = new ObservableCollection<Fabricante>(list);