Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WPF MVVM中将视图变量绑定到ViewModel?_C#_.net_Wpf_Xaml_Mvvm - Fatal编程技术网

C# 如何在WPF MVVM中将视图变量绑定到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对象,并尝试按如下方式绑定它:(

我创建了一个窗口(WPF和MVVM)-比如PrintWidow(所以我有PrintWindow.xaml、PrintWindow.xaml.cs、PrintWindowViewModel.cs-viewmodel)

现在,我将使用(调用)这个
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);
}