Я делание небольшую программу WPF MVVM что:Linking ViewModel класс Просмотр
- имеет MainWindow с этикетками (говоря «Привет») и кнопку, чтобы открыть еще одно окно (я сделал открытую часть окна в коде позади).
- Это открывает другое окно с двумя переключателями (красный и синий) и кнопкой отмены (я закрыл функцию в коде позади).
- Если я нажимаю красный переключатель, надпись на MainWindow должна загораться красным цветом, аналогично нажатию кнопки Blue.
Может ли кто-нибудь помочь мне с этим? Я как бы новичок в WPF и совершенно новичок в методологии MVVM. Я размещаю мой код ViewModel:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using System.Windows.Media;
using PocMVVM.Views;
namespace PocMVVM.ViewModel
{
public class ColorChangeViewModel : ICommand
{
//ColorChoiceView colorSelect = new ColorChoiceView();
//MainWindow mw = new MainWindow();
public event EventHandler CanExecuteChanged;
public bool CanExecute(object parameter)
{
return true;
//throw new NotImplementedException();
}
public void Execute(object parameter)
{
//throw new NotImplementedException();
ColorChoiceView colorSelect = new ColorChoiceView();
MainWindow mw = new MainWindow();
if((bool)parameter==colorSelect.RedButton.IsChecked.Equals(true))
{
mw.label.Foreground = Brushes.Red;
mw.UpdateLayout();
mw.ShowDialog();
}
else if((bool)parameter == colorSelect.BlueButton.IsChecked.Equals(true))
{
mw.label.Foreground = Brushes.Blue;
mw.UpdateLayout();
mw.ShowDialog();
}
}
}
}
Может ли кто-нибудь помочь мне с этим?
Thank You Very Much !!
P.S. Я знаю, что люди могут спросить о необходимости двух окон, но это должно быть так. Мне сказали, что это должно быть так, иначе нет.
Где я смотрю код? и почему вы ссылаетесь на свой MainWindow в ViewModel? –
Разве это не единственный способ получить доступ к ярлыку? –
Нет, это не способ доступа. если вы следуете за MVVM Используйте привязки данных, команды и т. д. Я бы посоветовал вам больше узнать о шаблонах MVVM и WPF, прежде чем писать код –