XAML 如何在Xamarin Forms中制作一个简单的数字选择器并将所选值存储在变量中

flseospp  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(135)

我对编程基本上是新手--我一直在一些可能非常基本的东西上卡住了:
我正在尝试制作一个简单的选择器/下拉菜单,数字范围从1到30。然后:我想将选定的数字存储在一个变量中,以便在应用程序的其他几个C#页面上使用。
有人知道怎么做吗?
谢谢!
我看过很多教程,但是当我试图调整代码时,大多数教程都出现了bug,而且很多教程我都不确定要调整什么。

wmomyfyw

wmomyfyw1#

使用MVVM模式很容易实现,详细信息可以参考Xamarin.Forms PickerXamarin.Forms Data BindingPart 5. From Data Bindings to MVVM
我给你做了个小小样。
在xaml文件中,定义一个选取器。使用ItemsSourceSelectedItem属性。

<Picker x:Name="mypicker"
    ItemsSource="{Binding ItemCollection}"    
    SelectedItem="{Binding SelectedItem}"  />

在MainPage.xaml.cs文件中,设置绑定上下文:

this.BindingContext = new MainPageViewModel();

在MainPageViewModel.cs文件中:

public class MainPageViewModel
{
    public int SelectedItem { get; set; } // you can access the picker value through this property
    public ObservableCollection<int> ItemCollection { get; set; }

    public MainPageViewModel()
    {
        ItemCollection = new ObservableCollection<int>();
        CreateCollection();  //generate ItemSource for the picker
    }

    private void CreateCollection()
    {
        var numList = Enumerable.Range(1, 30).ToList();
        ItemCollection = new ObservableCollection<int>(numList);
    }
}

希望对你有用。如果你还有什么问题,尽管问。

相关问题