标签: flowdocument

将FlowDocument保存到SQL Server

我需要将WPF FlowDocuments保存到SQL Server.这样做的最佳格式是什么?串?BLOB?在少于5K字左右的文件中是否重要?

sql-server flowdocument

4
推荐指数
2
解决办法
4556
查看次数

如何通过在FlowDocument中单击鼠标来获取TextPointer

我想得到一个用户在FlowDocument中点击的单词.

我目前正在为文档中的每个Run添加一个事件处理程序,并在单击的Run中迭代TextPointers,在每个Run上调用GetCharacterRect()并检查矩形是否包含该点.

但是,当在长时间运行结束时发生咔嗒声时,这需要> 10秒.

有没有更有效的方法?

.net wpf flowdocument

4
推荐指数
1
解决办法
2065
查看次数

查找FlowDocument中的所有图像

由于我是WPF FlowDocuments的新手,我想问下面的代码是否正确.它应该返回FlowDocument中包含的所有图像作为List:

List<Image> FindAllImagesInParagraph(Paragraph paragraph)
{
    List<Image> result = null;

    foreach (var inline in paragraph.Inlines)
    {
        var inlineUIContainer = inline as InlineUIContainer;
        if (inlineUIContainer != null)
        {
            var image = inlineUIContainer.Child as Image;

            if (image != null)
            {
                if (result == null)
                    result = new List<Image>();

                result.Add(image);
            }
        }
    }

    return result;
}

private List<Image> FindAllImagesInDocument(FlowDocument Document)
{
    List<Image> result = new List<Image>();

    foreach (var block in Document.Blocks)
    {
        if (block is Table)
        {
            var table = block as Table; …
Run Code Online (Sandbox Code Playgroud)

wpf flowdocument

4
推荐指数
1
解决办法
3496
查看次数

加载FlowDocument.xaml,它是我的解决方案的一部分

我在当前的WPF项目中创建了一个FlowDocument.xaml.我想要做的是当用户单击一个按钮时,XAML文档将被加载到后面的代码中,修改文档上的一些数据,然后将其打印出来.关键点是我不知道如何加载流文档,以便我可以修改它.

当我做:

FileStream fs = File.Open("FlowDocument.xaml", FileMode.Open)
Run Code Online (Sandbox Code Playgroud)

它说它找不到文件.该文件是项目的一部分,我猜它在编译时会与项目的其余部分打包在一起.

任何帮助表示赞赏

c# wpf xaml flowdocument

4
推荐指数
1
解决办法
1976
查看次数

使用WPF显示流式富文本

我有一个WPF应用程序,它通过套接字连接到设备并获取流文本数据(每秒大约1条消息).然后,此数据将显示在UI上.用户可以创建规则,如"如果数据包含'abc'突出显示行""...使其变为粗体",那么纯文本输出将不会执行,它需要是"丰富"文本.

我目前的解决方案是在我的ViewModel中包含一个包含格式化输出的FlowDocument.View有一个FlowDocumentScrollViewer,它绑定到ViewModel中的FlowDocument.

这很有效,但是当FlowDocument变大(~6,000行)时,性能开始下降.当前算法将行数限制为10,000,但事情变得更糟,直到应用程序无法使用.一旦达到10,000行,然后我为每一行添加一行,导致FlowDocumentScrollViewer获得每个新行的2个更新通知.

我试图找到批量删除的方法(当我们达到10,000行删除最旧的1,000行时),但FlowDocument上没有批量删除.循环1,000次并执行删除会导致1,000个更新通知并锁定UI.

这是我的问题,这是我的问题:

使用WPF显示流式富文本内容的最佳方法是什么? 我每秒收到~1条消息,每条消息大约150个字符,我想保留最后10000条消息.我是以错误的方式来做这件事的吗?是否有其他控制/对象表现更好?

编辑:这里有一些更多的要求

  • 需要能够打印输出文本
  • 需要能够选择并复制输出文本,以便将其粘贴到另一个文档中

.net c# wpf flowdocument

3
推荐指数
1
解决办法
4728
查看次数

如何在wpf应用程序中显示转换为xaml flowdocument的html内容

我的目标是在wpf应用程序中显示html内容.我使用brwoser控制但这总是在窗口之上.我在网上搜索并找到了将html转换为流文档的解决方案.但我的问题是如何在wpf应用程序中使用对流的flowdocument来显示html内容

请参阅以下文章.

c# webbrowser-control wpf-controls flowdocument

3
推荐指数
1
解决办法
1万
查看次数

如何获取WPF FlowDocument的选定文本?

我正在使用.NET 3.5

我在FlowDocumentScrollViewer中有一个FlowDocument.我没有使用RichTextBox.FlowDocument附带了许多"免费赠品",包括文本选择和用于复制/粘贴的上下文菜单.

如何找出FlowDocument中当前选择的文本?我想,我可以使用ApplicationCommands.Copy来获取文本到剪贴板中,然后从那里读出来,但是我并不想改变剪贴板的内容,如果我没有.

一定有我遗失的东西......

wpf copy flowdocument

3
推荐指数
1
解决办法
2693
查看次数

如何设置WPF FlowDocument的原始宽度

我有这个XAML结构:

<wft:Dialog x:Class="WFT.PumpSvc.Bench.Parts.PartsPullListDialog"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:wft="http://schemas.Weatherford.com">
    <wft:Dialog.Resources>
        <ResourceDictionary Source="../Resources.xaml" />
    </wft:Dialog.Resources>
    <wft:CaptionedBox Style="{StaticResource HeaderCaptionedBox}" Name="captionedBox"  Caption="Parts Pull List">
        <DockPanel>
            <DockPanel DockPanel.Dock="Right">
                <StackPanel Orientation="Vertical" DockPanel.Dock="Top">
                    <wft:TouchButton Name="closeButton">Cancel</wft:TouchButton>
                </StackPanel>
                <StackPanel Orientation="Vertical" VerticalAlignment="Bottom">
                    <wft:TouchButton Name="printButton">Print</wft:TouchButton>
                </StackPanel>
            </DockPanel>

            <wft:CaptionedBox Caption="Preview">
                <FlowDocumentPageViewer Name="documentReader">
                    <FlowDocument Background="White">
                        <Paragraph FontSize="20" FontWeight="Bold">Parts Pull List</Paragraph>
                        <Table FontWeight="Bold">
                            <Table.Columns>
                                <TableColumn Width="*" />
                                <TableColumn Width="2*" />
                            </Table.Columns>
                            <TableRowGroup>
                                <TableRow>
                                    <TableCell>...
                                    <TableCell>...
                                </TableRow>
                                <TableRow>...
                                <TableRow>...
                            </TableRowGroup>
                        </Table>
                        <Table>
                            <Table.Columns>
                                <TableColumn Width="1*" />
                                <TableColumn Width="1*" />
                                <TableColumn Width="1*" />
                                <TableColumn Width="1*" />
                                <TableColumn Width="1*" …
Run Code Online (Sandbox Code Playgroud)

wpf xaml flowdocument

3
推荐指数
2
解决办法
8071
查看次数

flowdocument分页 - 强制元素出现在新页面上

当我打印流文档时,我想要某些元素 - 段落,表格 - 可能标有一些附加属性:

  • 被转移到一个新的页面,如果他们不完全适合在前面的一个
  • 始终出现在新页面上.

有没有人已经完成它或有想法如何做到这一点?

干杯

wpf pagination flowdocument

3
推荐指数
1
解决办法
1915
查看次数

WPF的FlowDocument内容是否可由用户编辑?

我理解并阅读过使用WPF的FlowDocument在屏幕上创建XML样式文档,但是用户可以编辑的内容是可读的,还是只读的?如果是这样,这是怎么做到的?

我的问题主要集中在listitem控件的使用上,因为能够编辑在我的程序中使用的列表项的顺序会很好,而不是我必须创建自己的自定义控件.

问候.

wpf flowdocument

3
推荐指数
1
解决办法
1829
查看次数