Как сделать привязку SelectValue к MVVM в проекте в UWP? - PullRequest
0 голосов
/ 22 сентября 2018

Я пытался перехватить SelectValue комбинированного списка в ViewModel, но не смог.

Это мой код

<ComboBox SelectedValue="{Binding TipoDoc, Mode=TwoWay}"/>

Это ViewModel

private string tipodoc; 
public string TipoDoc 
{ 
    get => tipodoc; 
    set 
    { 
        tipodoc = value; 
        RaisePropertyChanged();
     } 
} 

Я не смог уловить значение comboBox.

что я делаю не так?Спасибо

1 Ответ

0 голосов
/ 24 сентября 2018

@ Предложение Ашика было верным.Вам необходимо установить ItemsSource для ComboBox.

Я сделал пример кода для вашей справки:

<Page.DataContext>
    <local:ViewModel></local:ViewModel>
</Page.DataContext>

<Grid>
    <ComboBox ItemsSource="{Binding source}" SelectedValue="{Binding TipoDoc, Mode=TwoWay}"/>
</Grid>
public class ViewModel : INotifyPropertyChanged
{
    private string tipodoc;
    public string TipoDoc
    {
        get => tipodoc;
        set
        {
            tipodoc = value;
            RaisePropertyChanged("TipoDoc");
        }
    }

    public ObservableCollection<string> source { get; set; }

    public ViewModel()
    {
        source = new ObservableCollection<string>();
        source.Add("item1");
        source.Add("item2");
    }

    public event PropertyChangedEventHandler PropertyChanged;

    private void RaisePropertyChanged(string PropertyName)
    {
        if (PropertyChanged!= null)
        {
            PropertyChanged(this,new PropertyChangedEventArgs(PropertyName));
        }
    }
}

Затем, когда вы выбираете один элемент, значение свойства TipoDocбудет изменено.enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...