【问题标题】:Printing a Rendered XAML Form打印呈现的 XAML 表单
【发布时间】:2014-04-15 09:50:20
【问题描述】:

我似乎无法找到解决此问题的方法。我有一个简单的表格,我创建它作为保险日志文件的测试。当我在 Web 浏览器(IE 8)中打开 xaml 文件时,它会正确显示表单,但是当我将其打印到打印机时,对话框会正常显示,但点击打印按钮后没有任何反应。最终,我需要将此作为文档成像系统的一部分进行打印,但我使用 Web 浏览器来挑选出该变量。

我对 xaml 很陌生,所以我可能忽略了一些简单的东西来使渲染的表单能够被打印。有什么东西需要添加到代码中吗?或者我是否需要将驱动程序添加到我的打印机才能将 XAML 编译为可打印格式?以下是我目前拥有的代码。我在 Visual Studio Express 2013 中使用 WPF。谢谢!

<Grid x:Name="Form"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Width="500" Height="620" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d">
    <Grid.Resources>
        <XmlDataProvider x:Key="xmlData" XPath="/data" IsAsynchronous="False">
            <x:XData>
                <data xmlns="">

                </data>
            </x:XData>
        </XmlDataProvider>
    </Grid.Resources>
    <Grid VerticalAlignment="Top">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="79*"/>
        </Grid.ColumnDefinitions>
        <TextBlock TextWrapping="Wrap" Text="POLICY HANDLING - INCEPTION" VerticalAlignment="Center" TextAlignment="Center" Height="12" Margin="0,4"/>
    </Grid>
    <Grid VerticalAlignment="Top" HorizontalAlignment="Right" Width="120" Height="40">
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="8*"/>
            <ColumnDefinition Width="15*"/>
        </Grid.ColumnDefinitions>
        <TextBox Grid.Column="0" TextWrapping="NoWrap" Width="40" TextAlignment="Center" BorderThickness="0,0,0,3" VerticalAlignment="Top" HorizontalAlignment="Right"/>
        <TextBox Grid.Column="0" TextWrapping="NoWrap" Width="40" TextAlignment="Center" BorderThickness="0,0,0,3" VerticalAlignment="Top" Grid.Row="1" HorizontalAlignment="Right"/>
        <TextBlock Grid.Column="2" TextWrapping="NoWrap" Text="TEAM" Height="14" FontSize="10" HorizontalAlignment="Left" VerticalAlignment="Center"/>
        <TextBlock TextWrapping="NoWrap" Text="TIA PRODUCER" VerticalAlignment="Center" Height="14" FontSize="10" Grid.Column="1" Margin="0,3" Grid.Row="1" HorizontalAlignment="Left"/>
    </Grid>



</Grid>

【问题讨论】:

  • 啊,是的,我的答案是 C#,这个问题被标记为 WPF,所以我忽略了浏览器位。我能够将您的代码折腾到一个 xaml 文件中,并且打印出来的内容与屏幕上显示的一样。
  • 感谢您的回复!那一定是我们在这里遇到的打印机驱动程序问题。

标签: xaml printing


【解决方案1】:

我相信我现在已经弄清楚了。我给网格/表格设置了背景颜色(“白色”),现在打印得很好。以前是透明的。它必须是我们正在使用的文档成像系统的约束。

【讨论】:

  • 啊.. 当我打印它时,我给了它一个背景,所以我可以确定我得到了整个网格。对不起,我没有把这些点联系起来,为你节省了更多时间。很高兴它已排序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-12
  • 2019-03-22
相关资源
最近更新 更多