Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
使用MVVM在WPF中打印TreeView_Wpf_Mvvm_Printing_Treeview - Fatal编程技术网

使用MVVM在WPF中打印TreeView

使用MVVM在WPF中打印TreeView,wpf,mvvm,printing,treeview,Wpf,Mvvm,Printing,Treeview,我有一个树状视图可以从文本文件返回我的文本搜索结果 <TreeView ItemsSource="{Binding FirstGeneration}" ...> <TreeView.ItemContainerStyle.../> <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Children}">

我有一个树状视图可以从文本文件返回我的文本搜索结果

<TreeView ItemsSource="{Binding FirstGeneration}"
             ...>
  <TreeView.ItemContainerStyle.../>
  <TreeView.ItemTemplate>
    <HierarchicalDataTemplate ItemsSource="{Binding Children}">
      <StackPanel Orientation="Horizontal" FlowDirection="LeftToRight">
        <TextBlock Text="{Binding PreExp}" />
        <TextBlock Text="{Binding Exp}"
          FontStyle="{Binding FontStyle}"
          Foreground="{Binding Color}"  />
        <TextBlock Text="{Binding PostExp}" />
      </StackPanel>
    </HierarchicalDataTemplate>
  </TreeView.ItemTemplate>
</TreeView>
我还尝试了FlowDocument的选项:

10x4帮助

问题是我无法访问树或搜索表达式,因为ViewModel不知道视图等

使用MVVM时,视图和ViewModel之间的交互应通过以下方式进行。 您可以将一个属性映射/绑定到一个UI元素;在片场会接到回电

下面是我的一个例子。希望有点用

问题是我无法访问树或搜索表达式,因为ViewModel不知道视图等

使用MVVM时,视图和ViewModel之间的交互应通过以下方式进行。 您可以将一个属性映射/绑定到一个UI元素;在片场会接到回电

下面是我的一个例子。希望有点用

PrintDialog dialog = new PrintDialog();
if (dialog.ShowDialog() != true)
  return;
dialog.PrintVisual(SearchResultTree, "The Search Result Tree");
FlowDocument doc = new FlowDocument();
foreach (SearchObjectViewModel item in tv.Items)
  doc.Blocks.Add(new Paragraph(new Run(item.PreExp+item.Exp+item.PostExp)));
pd.PrintDocument(((IDocumentPaginatorSource)doc).DocumentPaginator,exp);