小编O. *_*per的帖子

如何设置Xps文档的页面大小?

我正在尝试使用FixedDocument保存XPS文档。到目前为止,我未能更改页面大小。如何将其更改为自定义尺寸?

我的代码基于对该问题的第一个答案,更具体地说,我正在使用以下代码:

        if (File.Exists(filename)) {
            File.Delete(filename);
        }

        var oldParent = LogicalTreeHelper.GetParent(this) as ContentControl;
        try {
            oldParent.Content = null;

            FixedDocument doc = new FixedDocument();

            PageContent pageCnt = new PageContent();
            FixedPage page = new FixedPage();

            page.Children.Add(this);
            try {
                ((System.Windows.Markup.IAddChild)pageCnt).AddChild(page);
                doc.Pages.Add(pageCnt);

                XpsDocument xpsDoc = new XpsDocument(filename, FileAccess.ReadWrite);
                try {
                    var writer = XpsDocument.CreateXpsDocumentWriter(xpsDoc);
                    writer.Write(doc);
                }
                finally {
                    xpsDoc.Close();
                }
            }
            finally {
                page.Children.Clear();
            }
        }
        finally {
            ((ContentControl)oldParent).Content = this;
        }
Run Code Online (Sandbox Code Playgroud)

它可以将用户控件复制到XPS文档中,并且可以成功完成复制,但是正如我所说,它使用默认的纸张尺寸。

我尝试使用该DocumentPaginator.PageSize属性设置新的页面大小(在实例化之后FixedDocument),但是分配给该属性的任何内容似乎都将被忽略;生成的XPS文档中的页面保留其默认纸张尺寸。

当逐步执行时,我可以看到该 …

c# fixeddocument .net-3.5 documentpaginator

5
推荐指数
1
解决办法
5517
查看次数

将聚合函数的结果绑定到投影变量

我正在尝试计算给定属性的值的数量,并输出每个检索到的资源以及该数字。我试图BIND将函数的结果值存储COUNT在变量中,并将该变量投影到我的结果中。但是,该值似乎是空的,我不明白为什么会这样。

我的查询目前如下所示:

SELECT DISTINCT ?a ?c
WHERE {
  ?a <http://www.w3.org/2000/01/rdf-schema#label> ?b.
  BIND(COUNT(?b) AS ?c).
}
LIMIT 100
Run Code Online (Sandbox Code Playgroud)

我想我必须 group by ?a,虽然我还不确定当我想对多个属性执行此操作时如何继续,但这不是这个问题的关注点:现在,我只是想找出为什么?c似乎是空的。

现在,每个结果行不应该只有一个标签吗?如果是这样,为什么文字不1^^xsd:integer绑定到?c- 或者至少是一些代表标签总数(未分组)的高数字(类似于此处发生的情况) - 例如在以下端点上:

我知道我正在寻找的功能可能不受部分或全部这些实现的支持 - 但如果是这样,似乎不寻常的是,它COUNT只是“吞没”而没有错误消息(我确实在其他一些端点上收到了错误消息)对于语法)。

因此,我的问题是:为什么返回值为COUNT空?

  • 该位置的函数是否COUNT未被端点识别?
    • 由于它在语法上似乎是有效的,这是当前 SPARQL 引擎的缺点,还是设计使然?
  • COUNT函数是否仅在稍后进行评估(如果是这样,为什么它至少不返回类似的内容0)?

aggregate-functions sparql

5
推荐指数
1
解决办法
2599
查看次数

在UML中指示将类分发到二进制工件的正确方法是什么?

我试图用UML展示基于插件/组件的系统的整体架构.作为这个问题的一个简单示例,我将展示一个主应用程序,它加载一个插件接口库(定义插件的通用接口),以及两个示例插件(其中一个带有一些内部细节),如图所示以下UML类图1:

只有班级结构

在我的UML图中,我想强调如何将这些类(和接口)分发到单独的二进制文件2中,以便阐明在不重新编译的情况下可以替换系统的哪些部分.

现在,虽然我知道UML提供了相当大的余地,并且UML的主要观点并不是坚持严格的符号,而是以一种使其易于理解的方式表达信息,我仍然期望这种情况有一个共同的实践.


表达我所想到的信息的一种直接方式是使用UML组件图.维基百科引用了这个定义

系统的模块化部分,封装其内容,其表现形式可在其环境中替换.

对于组件.这看起来很合适,因为我想要展示的只是一个可替换的组件.因此,通过将上述类型放入组件中,我得出:

组件图中的类结构

虽然这是可以理解的,但我有点怀疑这是可接受的符号,因为我可以找到的组件图上的几乎所有资源(包括前面提到的维基百科文章)都非常强调定义所需和提供的接口.在形式上,看起来我应该在图中的任何地方添加小的矩形端口或棒棒糖形状的接口,其中关系连接组件之间的元素.我不太喜欢这种前景,因为它听起来有点麻烦,更重要的是,它会使图形混乱而不提供任何额外的信息.


或者,可能是可接受的符号.我的目的似乎与维基百科在相应文章的第二个列表中描述的内容相符

组织组件模型时,使用包根据所有权和/或重用可能性对组件进行分组.

包图如下所示:

使用包来表示程序集

另一方面,我有点担心使用包符号可能会与实际的代码内包(名称空间)产生混淆,这些包实际上程序集正交.实际上,有些资源将UML包解释为Java包的1:1映射,这不是我想要传达的(为了论证,所有描述的类型可能非常好地驻留在同一个命名空间中,某些东西喜欢MyGreatSystem.Plugins).


可能有点合适的唯一其他UML图类型可能是部署图,但是诸如维基百科中的定义使得相当清楚的是,这样的图中的节点是物理机器或执行环境,两者都是明显不同于简单地处于单独的二进制文件中.


我能想到的最后一个替代方法是通过将类型与UML注释连接来指示二进制文件:

使用注释来指示程序集

然而,这似乎更像是一种变通方法给我,我觉得更多的节点和边缘(而不是类型的组件,在那里它们实际上是)使图不太可读.


什么是适当的UML方式来传达哪些类型存在于成品中的二进制文件中?

1:这里没有显示类和接口的成员,因为它们暂时不相关.这在我的最终图表中可能相同或不同,因为重点主要不在于完整的内部类结构.

2:在我的案例中是.NET程序集,但这个问题对其他环境/技术同样有效.

plugins components uml class-diagram package

5
推荐指数
1
解决办法
207
查看次数

.NET标准,.NET Core和.NET Framwork项目的.NET命名约定

我在网上没有发现任何包含.NET标准,.NET Core和.NET Framework项目的.NET解决方案的公认命名约定.

在我的例子中,我们在.NET Framwork项目中有以下约定:

[CompanyName].[TechnologyName].[Feature]
Run Code Online (Sandbox Code Playgroud)

现在我们想将它移植到.NET Standard和.NET Core.并非该功能中的所有类都适用于所有类,因此我们有一个.NET标准项目,该项目由.NET Core项目引用.然后.NET Framework项目引用.NET Core项目.我们现在应该如何命名我们的项目.

一种解决方案是在命名空间中包含Standard或Core的名称:

[CompanyName].Standard.[TechnologyName].[Feature]
[CompanyName].Core.[TechnologyName].[Feature]
[CompanyName].[TechnologyName].[Feature]
Run Code Online (Sandbox Code Playgroud)

要么

[CompanyName].[TechnologyName].[Feature].Standard
[CompanyName].[TechnologyName].[Feature].Core
[CompanyName].[TechnologyName].[Feature]
Run Code Online (Sandbox Code Playgroud)

但我们想知道是否存在全局命名约定.

.net naming .net-core .net-standard

5
推荐指数
1
解决办法
3385
查看次数

如何在 MSIE 开发者工具中使用控制台?

在 Chrome 上调试时,我经常使用控制台即时执行 JavaScript 命令,例如在断点处检查变量。

我如何在 MSIE 的开发工具中做同样的事情?

当我在控制台输入一些东西时,比如

console.log('hello');
Run Code Online (Sandbox Code Playgroud)

并点击Return,该命令正式出现在控制台中,但它的输出无处可见:

MSIE 控制台,仅显示命令,但不显示执行结果

编辑:在某些情况下,我同时设法在控制台中获得了一些输出,正如我所期望的那样。即使发生这种情况,在控制台再次变得相当“被动”之前,它也只能对大约五个命令起作用。也许我做错了什么(因此这应该是一个有效的答案,因为显然我还没有满足有效使用 MSIE 开发工具控制台的先决条件),或者这可能只是这些开发工具中的一个严重的稳定性问题。

javascript debugging internet-explorer developer-tools ie11-developer-tools

5
推荐指数
1
解决办法
813
查看次数

如何让 Visual Studio 显示异常的整个文档?

我正在使用带有 ReSharper 8.2.3 的 Visual Studio 2013。

在代码编辑器中,VS 会在弹出框中显示光标下的标识符的一些信息。此信息取自标识符的源程序集中包含的 Xml API 文档。

不幸的是,那里似乎缺少有关异常的文档。因此,调用以下类的单个方法:

public static class ExampleClass
{
    /// <summary>
    /// Does something.
    /// </summary>
    /// <param name="text">The text to process.</param>
    /// <returns>The result.</returns>
    /// <exception cref="ArgumentNullException"><paramref name="text"/> is <see langword="null"/>.</exception>
    /// <exception cref="ArgumentException"><paramref name="text"/> is longer than 50 characters.</exception>
    public static Int32 DoSomething(String text)
    {
        if (text == null)
        {
            throw new ArgumentNullException("text");
        }
        if (text.Length > 50)
        {
            throw new ArgumentException("The text is too long.");
        }

        return 42; …
Run Code Online (Sandbox Code Playgroud)

c# visual-studio visual-studio-2013 resharper-8.0

5
推荐指数
0
解决办法
421
查看次数

如何增加失败请求日志的最大大小?

我正在IIS 中使用失败请求跟踪组件。它写入的日志之一以错误结束LOG_FILE_MAX_SIZE_TRUNCATE

根据文档,这是由maxLogFileSizeKB设置控制的:

如果失败的请求跟踪日志超过此值,IIS 将以最大文件大小截断日志,并为跟踪事件指定 LOG_FILE_MAX_SIZE_TRUNCATE。

默认值为 1024。

显然,我应该能够通过单击“站点”节点,然后打开网站默认对话框来配置该值。但是,最大日志大小设置似乎不存在(德语屏幕截图,但在 IIS 的其他本地化版本中应该是类似的):

网站默认对话框的屏幕截图

该文档还解释了如何直接在 中更改设置Web.config,但我的文件中只有<traceFailedRequestsLogging>一个元素,而不是所描述的元素。<traceFailedRequests>Web.config

奇怪的是,我什至在整个磁盘上找不到任何包含Web.config为模块配置的常规设置的文件(例如日志文件的目标路径):

失败请求跟踪常规设置对话框的屏幕截图

我究竟做错了什么?

iis logging iis-10

5
推荐指数
1
解决办法
4467
查看次数

如何在画布中获得构成圆形的坐标数组?

所以,如果这是我用来在画布上绘制圆圈的代码:

ctx.beginPath();
ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
ctx.lineWidth = 3;
ctx.strokeStyle = "black";
ctx.stroke();
Run Code Online (Sandbox Code Playgroud)

...我怎么能得到构成这个圆圈的点的坐标数组,这样我就可以将它们保存在数据库中,然后使用context.moveTo()和context.lineTo()方法加载到画布上以连接点,绘制相同的圆圈?

我想我是否可以使用非.arc()方法绘制这种圆,但是如果我只知道我的中心坐标和圆半径(当然还有线和颜色的宽度),可以用点连接点. ).这应该使我能够在循环时保存数组中的每个点坐标.

arrays html5 geometry coordinates html5-canvas

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

从字符串中删除文件类型

我正在从服务器调用字符串列表.

目前我正在获取全名和文件扩展名,如:

Image1.jpg

image2.png

test_folder.folder

我有一些代码依赖于知道扩展名是什么,但是我还需要访问我在扩展名中选择的项目的名称.

到目前为止,我的两次尝试如下:

_clickedFolder = listBox1.SelectedItem.ToString() - "folder";
_clickedFolder.Trim(new Char[] { '.folder' });
Run Code Online (Sandbox Code Playgroud)

但这些都不奏效.

取消文件扩展名并显示文件名的正确方法是什么?

c# string

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

保存 xml 文件和 ConformanceLevel

我有方法应该将对象列表保存到 xml 文件中

 private void DumpToXMLFile(List<Url> urls, string fileName)
        {
            XmlWriterSettings settings = new XmlWriterSettings();
            settings.Indent = true;
            settings.OmitXmlDeclaration = true;
            settings.NewLineOnAttributes = true;
            settings.ConformanceLevel = ConformanceLevel.Auto;

            using (XmlWriter writer = XmlWriter.Create(fileName, settings))
            {
                writer.WriteStartDocument();
                writer.WriteStartElement("Countries");
                foreach (var url in urls)
                {
                    writer.WriteStartElement("Country");
                        writer.WriteElementString("Name", url.Name);                        
                        writer.WriteElementString("Url", url.Uri);
                    writer.WriteEndElement();
                }
                writer.WriteEndElement();
                writer.WriteEndElement();                
            }
        }
Run Code Online (Sandbox Code Playgroud)

我得到这个期望:

“System.InvalidOperationException”类型的未处理异常发生在...

附加信息:处于 EndRootElement 状态的令牌 EndElement 将导致无效的 XML 文档。如果要编写 XML 片段,请确保将 ConformanceLevel 设置设置为 ConformanceLevel.Fragment 或 ConformanceLevel.Auto。

尝试使用 ConformanceLevel.Fragment 但我得到了一个例外,如果我想保存 xml 文件,我应该使用 ConformanceLevel.Auto。

.net c# xml

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