В логике MVVM в WPF, ViewModel является посредником между View и Model. Он содержит логику и данные, которые могут быть связаны с элементами управления во View. Чтобы передать свойство из класса .xaml.cs (контекстное код-бихайндерское) в ViewModel, можно использовать привязку данных.
Привязка данных - это механизм, позволяющий связывать свойства объектов между собой или с элементами управления во View. В WPF, для использования привязки данных, необходимо использовать элементы управления с поддержкой привязки данных, такие как TextBox, Label, или другие элементы управления.
Чтобы передать свойство класса .xaml.cs в ViewModel, вам понадобится выполнить следующие шаги:
1. Создайте экземпляр ViewModel и установите его в качестве контекста данных для View. Например, вы можете сделать это в конструкторе класса .xaml.cs:
public MainWindow() { InitializeComponent(); this.DataContext = new ViewModel(); // Создаем экземпляр ViewModel и устанавливаем его в качестве контекста данных }
2. В коде ViewModel создайте свойство, которое будет привязано к свойству класса .xaml.cs. Например:
public class ViewModel : INotifyPropertyChanged { private string myProperty; public string MyProperty { get { return myProperty; } set { if (myProperty != value) { myProperty = value; NotifyPropertyChanged("MyProperty"); } } } // ... остальной код ViewModel ... public event PropertyChangedEventHandler PropertyChanged; protected void NotifyPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } }
3. В XAML, где вы хотите использовать это свойство, добавьте привязку данных к свойству из ViewModel. Например, вы можете использовать TextBox и привязать его Text к MyProperty из ViewModel:
<TextBox Text="{Binding MyProperty}" />
В этом примере привязка данных будет автоматически обновлять свойство MyProperty в ViewModel при изменении текста в TextBox и наоборот.
Таким образом, используя привязку данных, вы сможете передать свойство из класса .xaml.cs в класс ViewModel в логике MVVM в WPF.