簡體   English   中英

WPF列表框綁定-SelectedItem保持為空

[英]WPF Listbox binding - SelectedItem remains null

我在玩MVVM和綁定。 更具體地說,一個ListBox顯示了一個對象集合:

<ListBox ItemsSource="{Binding Scouts}" SelectedItem="{Binding SelectedScout, Mode=TwoWay}/>

在我的ViewModel中,它看起來像這樣:

private ObservableCollection<Scout> scouts;
    private Scout selectedScout;

    public Scout SelectedScout
    {
        get { return selectedScout; }
        set
        {
            OnPropertyChanged("SelectedScout");
            value = selectedScout;
        }
    }

    public ObservableCollection<Scout> Scouts
    {
        get { return scouts; }
        set
        {
            OnPropertyChanged("Scouts");
            scouts = value; 
        }
    }

現在,ListBox可以很好地顯示Collection中的項目,但是我要做的是單擊Box中的項目,然后在TextBox中顯示該項目的更多詳細信息。 我以為可以將ListBox的SelectedItem屬性綁定到ViewModel中的Selected-property(如上所示),然后將該屬性綁定到TextBox,如下所示:

<TextBox Text="{Binding SelectedScout.Id}"/>

但這是行不通的。 當我在列表框中選擇一個項目時,TextBox保持空白,因為我的SelectedScout屬性為null。

我已經為這個問題苦苦掙扎了一段時間了,我似乎找不到這種解決方法。 我不知道我在想什么。

預先感謝您的幫助。

**編輯:我解決了這個問題。 感謝您的回答,但錯誤出在此行:

 public Scout SelectedScout
    {
        get { return selectedScout; }
        set
        {
            OnPropertyChanged("SelectedScout");
            *value = selectedScout;*
        }
    }

當然應該在哪里:

selectedScout = value;

我現在真的很傻。 謝謝您的幫助。

**

使用XAML綁定對象列表

這是插入更新,刪除所選索引的正確示例。

暫無
暫無

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

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