簡體   English   中英

結果未出現在選擇器Xamarin.Forms中

[英]Results not appearing in picker Xamarin.Forms

我有一個代碼掃描儀,掃描后,它返回一個字符串值。 然后,我將此字符串值添加到一個可觀察的集合中。

觸發ScanCode()方法時,相機會打開並掃描代碼,然后將值添加到列表中。 然后返回頁面,但選擇器仍然為空。 請幫助解決問題。

private ObservableCollection<string> _codes;
public ObservableCollection<string> Codes
{
    get { return _codes; }
    set
    {
        _codes = value;
        OnPropertyChanged();
    }
}


public async void ScanCode()
{

    codes= new ObservableCollection<string>();

    var cd = await CodeScanViewModel.CodePage1(); // returns the code in string

    if (cd != null)
    {

        _codes.Add(cd.ToString());             
    }
}

然后在我的XAML中,如下定義了選擇器:

            <Picker
                Title="Codes" 
                ItemsSource="{Binding Codes}"
                VerticalOptions="Center" />

至此,您已經將新的collection實例設置為_codes但是沒有引發屬性更改的通知。 因此, Picker控件仍在偵聽舊實例的集合更改事件。 為了解決此問題,請確保使用:

public async void ScanCode()
{
    Codes = new ObservableCollection<string>();
...

要么,

public async void ScanCode()
{
    _codes = new ObservableCollection<string>();
     OnPropertyChanged(nameof(Codes));
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM