gpt4 book ai didi

.net - WPF:Visual Studio 2008 设计器中的固定文档

转载 作者:行者123 更新时间:2023-12-02 13:13:07 24 4
gpt4 key购买 nike

这是 a well-known bug当您尝试在 XAML 中构造 FixedDocument 时,Visual Studio 显示错误。例如,以下代码片段

<DocumentViewer>
<FixedDocument>
<PageContent>
<FixedPage Width="21.0cm" Height="29.7cm">
<TextBlock>Hello World!</TextBlock>
</FixedPage>
</PageContent>
</FixedDocument>
</DocumentViewer>

编译并运行得很好,但 Visual Studio 在错误列表中显示错误(属性“Pages”不支持“PageContent”类型的值。)这非常烦人。

我正在寻找一种解决方案,允许我在 Visual Studio 中的 XAML 文件中构建文档,而不会收到该错误消息。我找到了一种解决方法,我想在下面分享它作为答案,但我很好奇是否有更好(更优雅)的解决方案。

最佳答案

作为解决方法,我将 DocumentViewer 以及页面进入网格:

<Grid>
<FixedPage Width="21.0cm" Height="29.7cm" x:Name="uiPage1">
<TextBlock>Hello World!</TextBlock>
</FixedPage>
<DocumentViewer>
<FixedDocument x:Name="uiReport">
</FixedDocument>
</DocumentViewer>
</Grid>

然后我将页面附加到 Loaded 中的 DocumentViewer窗口事件:

VB 示例:

DirectCast(Me.uiPage1.Parent, Grid).Children.Remove(Me.uiPage1)
Dim content As New PageContent()
DirectCast(content, IAddChild).AddChild(Me.uiPage1)
Me.uiReport.Pages.Add(content)

C# 示例:

((Grid)uiPage1.Parent).Children.Remove(uiPage1);
var content = new PageContent();
((IAddChild)content).AddChild(uiPage1);
uiReport.Pages.Add(content);

关于.net - WPF:Visual Studio 2008 设计器中的固定文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2133240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com