2

コレクションを公開し、それをオートコンプリートボックスのアイテムソースにバインドしましたが、オートコンプリートボックスのテキストを選択または変更しても、テキストボックスやラベルのようなモデルは更新されません!

ビューモデル:

public ObservableCollection<String> SymptomsDb { get; private set; }

private String symptom;

public String Symptom
{
    get { return symptom; }
    set
    {
        symptom = value;
        RaisePropertyChanged(() => this.Symptom);
    }
}

public AnalysisViewModel()
{
    List<String> s = new List<String>();
    s.Add("test");
    SymptomsDb = new ObservableCollection<String>(s);
}

見る:

<controls:AutoCompleteBox 
    ItemsSource="{Binding SymptomsDb}" 
    SelectedItem="{Binding Symptom}" 
    Text="{Binding Symptom}" 
    IsTextCompletionEnabled="True" 
    FilterMode="Contains"/>
4

1 に答える 1

8

ユーザー インターフェイスからビューモデルに変更を戻すには、常にプロパティ TwoWay をバインドする必要があります (デフォルトで TwoWay である TextBox.TextProperty などの一部のプロパティを除く)。

<controls:AutoCompleteBox 
    ItemsSource="{Binding SymptomsDb}" 
    SelectedItem="{Binding Symptom, Mode=TwoWay}" 
    Text="{Binding Symptom}" 
    IsTextCompletionEnabled="True" 
    FilterMode="Contains"/>
于 2013-03-05T15:50:06.583 に答える