我没有在任何地方找到这个。目前我正在制作一个 WPF 应用程序,但遇到了一个问题。我需要一页,但数据应该不同,具体取决于哪个按钮调用了页面。如果不尝试坚持使用 MVVM,那会很容易。我已经有一个按钮可以将所需的数据传递给页面 cs 文件,但我不知道如何将该数据传递给 ViewModel。
详细视图页面.xaml.cs:
namespace unnamed
{
public partial class DetailedViewPage : BasePage<DetailedViewViewModel>
{
public DetailedViewPage(string position)
{
InitializeComponent();
}
}
//I'm using similar method to create new View
private void CreateNewWindow()
{
var MainWindow = (MainWindow) Application.Current.MainWindow;
var MWViewModel = (WindowViewModel) MainWindow.DataContext;
MWViewModel.CurrentPage = new DetailedViewPage("top");
}
}
BasePage.cs:
public class BasePage<VM> : Page
where VM : BaseViewModel, new()
{
private VM mViewModel;
public VM ViewModel
{
get { return ViewModel; }
set
{
if (mViewModel == value)
return;
mViewModel = value;
this.DataContext = mViewModel;
}
}
public BasePage()
{
this.Resources = ((MainWindow)Application.Current.MainWindow).Resources;
this.ViewModel = new VM();
}
}
详细视图视图模型.cs:
namespace unnamed
{
public class DetailedViewViewModel : BaseViewModel
{
public string PossitionShown { get; set; }
public DetailedViewViewModel()
{
}
}
}
所以我的目标是将位置变量从页面 cs 文件获取到 ViewModel 并分配给PossitionShown.
蓝山帝景
相关分类