Как обмениваться данными через ViewModels в проекте WPF MVVM?C#

Место общения программистов C#
Ответить
Anonymous
 Как обмениваться данными через ViewModels в проекте WPF MVVM?

Сообщение Anonymous »

Я изучаю WPF и, в более общем смысле, MVVM, создавая простое приложение.
Мое главное окно содержит 4 представления.
Одно из них предназначено для основной ленты, в которой хранятся данные некоторых пользователей. параметры, а один предназначен для листа проектирования с наложением параметрируемой сетки.
Цель:
В RibbonView пользователь может выбрать интервал наложения сетки, и я хочу, чтобы эти целочисленные данные отправлялись в RibbonViewModel, затем в DesignSheetViewModel, а затем использовались для обновления наложения сетки DesignSheetView.
RibbonView.xaml :< /strong> (Определение IntegerUpDown) RibbonView.xaml.cs:[/b] (привязка представления к его модели представления)

Код: Выделить всё

public partial class RibbonView : UserControl
{
public RibbonView()
{
InitializeComponent();
this.DataContext = new RibbonViewModel();
}
}
DesignSheetView.xaml: (Определение наложения сетки) DesignSheetView.xaml.cs:

Код: Выделить всё

    public partial class DesignSheetView : UserControl
{
public DesignSheetView()
{
InitializeComponent();
this.DataContext = new DesignSheetViewModel();
}
}
Наконец, мои модели представления определяются следующим образом:

Код: Выделить всё

    internal class ViewModelBaseClass : INotifyPropertyChanged
{
public event PropertyChangedEventHandler? PropertyChanged;

protected void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}

internal class RibbonViewModel : ViewModelBaseClass
{

}
internal class DesignSheetViewModel : ViewModelBaseClass
{

}
Я знаю, что в DesignSheetView мне нужно заменить фиксированные значения на {Binding nameOfProperty}.
Вот обзор моего приложения:
Изображение

Настройка шага сетки находится в верхнем левом углу, и сетка будет обновляться в соответствии с этот параметр находится в центре приложения.

Подробнее здесь: https://stackoverflow.com/questions/791 ... vm-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»