C# 如何在WPF MVVM中将视图变量绑定到ViewModel?
我创建了一个窗口(WPF和MVVM)-比如PrintWidow(所以我有PrintWindow.xaml、PrintWindow.xaml.cs、PrintWindowViewModel.cs-viewmodel) 现在,我将使用(调用)这个C# 如何在WPF MVVM中将视图变量绑定到ViewModel?,c#,.net,wpf,xaml,mvvm,C#,.net,Wpf,Xaml,Mvvm,我创建了一个窗口(WPF和MVVM)-比如PrintWidow(所以我有PrintWindow.xaml、PrintWindow.xaml.cs、PrintWindowViewModel.cs-viewmodel) 现在,我将使用(调用)这个PrintWindowobj,从其他一些类单击按钮或在一些命令触发器上,我想为这个PrintWindow设置文档源(在MVVM之后) 我该怎么做?我在PrintWindow.xaml.cs中创建了一个PrintDocument对象,并尝试按如下方式绑定它:(
PrintWindow
obj,从其他一些类单击按钮或在一些命令触发器上,我想为这个PrintWindow设置文档源(在MVVM之后)
我该怎么做?我在PrintWindow.xaml.cs中创建了一个PrintDocument
对象,并尝试按如下方式绑定它:(显然只是一次空白的尝试-因为我无法在xaml中执行此声明)
这个代码(显然)不起作用。我该怎么做呢。
小结:我想从另一个窗口打开PrintWindow
,并最终从'other widow'对象的代码隐藏中设置PrintWindow
的某些属性。查询是-该属性应该放在哪里?看法视图模型??烦躁
我在谷歌上搜索过答案,但没有找到与我的问题相关的答案
我是
WPF
的大一新生,也是MVVM
的新手 由于您的PrintDocumentCommand
位于PrintViewModel
中,但您正在将此绑定的源设置为PrintDocument
-类的实例,因此无法找到它,因为绑定正在PrintDocument
类中查找PrintDocumentCommand
如果要从另一个窗口打开PrintWindow,请将PrintDocument
-属性和PrintDocumentCommand
放置在另一个窗口的ViewModel中。现在,通过PrintDocumentCommand
执行的函数可能如下所示:
private void Print()
{
PrintWindow pw = new PrintWindow(PrintDocument);
pw.ShowDialog();
}
PrintView的构造函数可能类似于:
public PrintWindow(PrintDocument pd)
{
InitializeComponents();
this.DataContext = new PrintViewModel(pd);
}
现在,您可以在PrintViewModel中访问PrintDocument。您希望实现什么?是否要从另一个窗口打开打印窗口?或者你想在PrintWindow中添加一个按钮来激活一些功能吗?看看这个@bitestar:I想从另一个窗口打开Print WIndow。并最终从“代码隐藏”或“其他窗口”设置源文档。我不明白-如果我删除
b.source
,我会将我的PrintDocumentCommand
绑定到什么。剩下的我已经在做了。我想我误解了你想要做什么,看看我的编辑;)谢谢,为我工作(虽然针对我的项目很少有改动)-但是工作:
public PrintWindow(PrintDocument pd)
{
InitializeComponents();
this.DataContext = new PrintViewModel(pd);
}