问题标签 [xamlwriter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
373 浏览

wpf - XamlWriter 在保存 ResourceDictionary 时跳过“x:Name”属性

这是自定义样式:

我将包含此样式的 ResourceDictionary 保存为这样的字符串:

其中 s 是资源字典。问题是当我得到预期的字符串时,它看起来是这样的:

请查看Border.RenderTransform中的TranslateTransform。在 ResourceDictionary 中有 x:Name="translation",但输出字符串中缺少名称。

我在哪里弄错了或者这是一个错误?提前致谢。

0 投票
1 回答
397 浏览

xaml - WPF:具有未序列化 XAML 的 ReadOnly 属性的属性

我正在开发一个 C# WPF 应用程序,它使用 Windows 窗体 PropertyGrid 来允许用户查看和更改对象的属性。我希望某些属性可见但已锁定,因此我将它们的 ReadOnly 属性设置为 true。

但是,在项目的其他地方,我们使用 XAML 序列化程序来序列化对象,并发现具有 ReadOnly 属性集的属性正在从序列化中省略。

为了证明这一点:

运行此代码:

给出输出:

显然缺少“b”属性。

这是正确的行为吗?是否可以序列化 ReadOnly 设置为 true 的属性?

0 投票
1 回答
399 浏览

c# - 当前上下文中不存在名称“XamlWriter”

我正在使用 .NET 框架 4.5.2 开发通用 Windows 应用程序(在 Windows 10 上)

我正在尝试使用“XamlWriter”和“XamlReader”克隆一个 xaml 对象,但似乎 Visual Studio 没有引用此类。我越来越:

当前上下文中不存在名称“XamlWriter”

我还注意到我的 Visual Studio 没有System.Windows.Markup命名空间(其中包含“XamlWriter”和“XamlReader”),只有System.Windows.Input.

我已经搜索了网络(当然还有这里),但找不到任何答案。我会很感激任何线索。

谢谢。

0 投票
0 回答
631 浏览

c# - 如何替换 XpsDocumentWriter 中的默认 XamlWriter?

这是一个XamlWriter.Save非常慢的已知问题(只是谷歌“xamlwriter 慢”)。我编写的应用程序生成 XPS 文档,并且它使用的元素范围有限。因此,我想XamlWriter用更有效的替换。是否可以替换使用的默认XamlWriterXpsDocumentWriter


研究

下面是 XpsDocumentWriter 如何序列化为 Xaml。

这就是我写信的方式XpsDocument

所以我想做的是改变 VisualsCollat​​or 在序列化为 Xaml 时使用的序列化程序。

VisualsCollator实际上是一个VisualsToXpsDocument

PackageSerializationManager _manager实际上是一个XpsSerializationManager

这是它继承的 PackageSerializationManager:


到目前为止我最接近的非解决方案

我正在考虑继承XpsSerializationManager并覆盖该SaveAsXaml方法,但我不确定如何实际覆盖它,因为它不返回值或提供流或任何要写入的对象。即使我这样做了,我也必须使用反射来更改类PackageSerializationManager _manager中的字段VisualsToXpsDocument,所以它有点 hacky。

到目前为止,我还没有解决方案。


未完成的潜在 XamlWriter

如果可以替换序列化程序,那么这XamlWriter是我在此处找到的自定义示例:

0 投票
1 回答
58 浏览

xaml - 在运行时生成 xaml 文件(页面)并用 uri 引用它

我正在开发一个基于现代 UI 的 wpf 应用程序,该应用程序有一个 gui 设计器部分,用户可以在其中添加然后拖放/调整大小等控件。控件位置、大小等的属性存储在数据库的表中。用户可以在多个页面中放置控件。

我所拥有的:在应用程序启动时,控件根据页面 ID 定位在页面(xaml 文件)上的画布上。当我编译时,这些页面都在项目中。

我想要什么:我需要一种方法来动态实例化这些页面并能够使用 uri 引用每个页面。

我尝试过的:我尝试创建一个“模板页面”并从那里实例化每个新页面。然后我将控件放在上面。然后我使用 xamlwriter.save 创建一个我希望能够使用 Uri 引用的 xaml 文件。但是当我尝试引用 xaml 文件时失败了。

如果您可以帮助我解决我的问题,或者有更好的方法,请赐教。

最好的问候,弗雷德里克

0 投票
0 回答
450 浏览

xaml - 如何将 SoftwareBitmap 图像转换为 cv::Mat 图像?

我正在引用此链接->在 c++/cx 中将 SoftwareBitmap 或 WriteableBitmap 转换为 cv::Mat

但是每次我尝试将其放入代码中时,它都会向我显示此错误...在此处输入图像描述

您可以看到背景突出显示的部分..我在代码中使用了此转换部分....

这是代码的参考链接 https://github.com/Microsoft/Windows-universal-samples/blob/master/Samples/CameraGetPreviewFrame/cpp/MainPage.xaml.cpp

0 投票
1 回答
100 浏览

wpf - 如何保存具有大小、位置和旋转的图像然后恢复它?

在 WPF 中,我有一个图像被拖放到 InkCanvas 上并作为子项添加:

然后通过装饰器,图像被移动和调整大小。然后将其持久化到数据库中:

然后将孩子发送到数据库。数据库中的结果记录显示为:

没有对图像的新位置、大小或旋转的参考——只有它的初始放置点。使用 xmlreader 重新创建图像会将图像恢复到其初始放置点和大小。

(图像源被打包为应用程序资源)。

我怎样才能保留图像的大小、位置和旋转,然后恢复它?

TIA。

0 投票
1 回答
380 浏览

wpf - 是否可以让 XamlWriter 保存 StaticResource?

我的问题显示在以下程序中,其中 GeometryModel3D 的材质是从 XAML 中的 StaticResource 设置的。

是否可以让 XamlWriter 保存实际的 StaticResources 而不是已解析的引用(它现在这样做)?如果是这样,我需要做什么?

0 投票
1 回答
209 浏览

xml - XamlWriter.Save(object) - 设置根和其他命名空间

我正在通过XamlWriter.Save(object). 这按预期工作。

现在的问题是,XamlWriter根据需要设置命名空间,例如根命名空间xmlns设置为 my 的命名空间object

问题是,我想将 xaml 复制到现有的 xaml 中,其中已经定义了命名空间。它可以工作,因为它XamlWriter还将命名空间属性添加到生成的字符串中,但我希望我已经存在的前缀将被重用。这可能吗?

示例 XAML:

我稍后通过 XamlWriter.Save 创建 TagBindingBehavior 并将其添加到我的文档中。但它有不同的命名空间。我想从 TagBindingBehavior 中删除“xmlns”属性。

0 投票
1 回答
30 浏览

c# - 为什么 XamlWriter 会在某些属性中添加 {}?

我正在保存一个资源字典来Xaml使用XamlWriter,我注意到对于string只有 的属性{p},在文本之前XamlWriter添加了 a {}(导致{}{p})。

为什么会这样?有什么办法可以防止这种情况发生吗?或者至少在使用标准回读时安全地删除它XDocument.Parse()

这是我保存它的方法:

编辑

{}是当文本包含左括号和右括号(如{...}.

https://docs.microsoft.com/en-us/dotnet/desktop/xaml-services/escape-sequence-markup-extension

现在,剩下的唯一问题是如何安全地从文本中删除这些 scape 序列。我可以简单地进行替换或修剪,还是已经有方法了?