问题标签 [xamlreader]

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 投票
2 回答
804 浏览

c# - 为什么在 XAML 文件中添加程序集会出错?

我有一个像这样动态读取 XAML 文件的应用程序:

在其中一个加载的 XAML 文件中(它们都已删除其代码),这是有效的:

但这会给出错误“XML 命名空间 'clr-namespace:DynamicXaml123;assembly=DynamicXaml123' 中不存在标签 'FieldEmailView'”。

如果我省略了程序集引用,则会出现错误

在 XAML 中读取时。

为什么我不能在此处包含程序集参考,我必须更改/检查什么才能使其正常工作?

0 投票
2 回答
731 浏览

c# - 使用 XAMLReader 就地更新 WPF 控件

我有一个现有项目,它是画布的子项。项目的样式包含在资源字典中,其中包含可用于为项目着色的各种画笔。

当创建项目的实例时,它会被赋予默认颜色。我目前无法直接与 Fill 属性进行交互,如下所示:

出于这个原因,我开始查看该项目的每个实例的 XAML。

创建实例后,我对该项目感兴趣的 XAML 是:

理想情况下,我希望能够将 Shape.Fill 值绑定到项目实例的属性,或者至少能够根据应用程序中的用户选择更改该值。

我正在编辑项目的 XAML 以更改其填充颜色。为此,我使用以下代码,基于 MSDN 中的按钮克隆示例:

我正在获取 XAML,更新画笔资源名称,然后生成一个新项目。

这种方法是概念验证。我希望能够更新现有项目的 XAML,而不必在画布上创建新项目。

完成项目填充属性的“就地”更新的最佳方法是什么?

0 投票
3 回答
498 浏览

silverlight - Silverlight 3 XamlReader 异常未捕获

当我将 XamlReader.Load() 与无效的 XAML 字符串一起使用时,虽然在 try-catch-block 中出现,但不会捕获生成的 XAMLParseException:

该代码是从 DispatcherTimer 的 Tick-Event 调用的,但在 MouseLeftButtonDown 等事件中也不会捕获异常,从而导致我调用 .Load() 的行中断。

有谁知道如何捕捉这个异常并恢复正常的程序活动?

谢谢,安德烈

0 投票
1 回答
1337 浏览

silverlight - 使用代码在 Silverlight 中创建 HierarchicalDataTemplate

我正在尝试按照关于从代码HierarchicalDataTemplate创建的建议在 Silverlight 中的代码中创建一个(来自 Silverlight 工具包)DataTemplates

在代码中创建 Silverlight DataTemplate

但是,我无法让它为HierarchicalDataTemplate.

我尝试将XamlBuilder它与 Silverlight Toolkit 一起使用,但这给了我一个错误。

我已经尝试过XamlReader,并且已经包含了各种默认和前缀命名空间,但没有运气。

如果我运行XamlBuilder的 Build 方法,我会得到以下字符串:

我得到的错误是:

AG_E_PARSER_NAMESPACE_NOT_SUPPORTED

0 投票
2 回答
2815 浏览

wpf - 是否可以使用 XAML 文件中的 XamlReader 来加载 XAML 文本块?

我在许多控件中使用以下 DataTemplate :

有什么方法可以从 XAML 使用 XamlReader,以便我可以简单地将 DataTemplate的文本动态加载到 XAML 文件中?我在想象这样的事情(伪代码):

0 投票
1 回答
362 浏览

c# - 如何访问 Silverlight .xap 文件下方文件夹中的相对位置文本文件?

WPF应用程序中,我使用xamlreader通过查找当前目录来加载 xaml 文件,如下所示:

所以我可以通过获取它的绝对路径来读取 .xaml 文件,如下所示:

在 Silverlight 中,GetDirectoryName(...) 方法给了我一个MethodAccessException

如何读取相对于 Silverlight 中的 .xap 文件的这些 .xaml 资源字典文件?

我可以想象我可以在其中放置一个名为“布局”的.xap 文件的目录,其中包含我可以读取的 .xaml 文件,但是相对于 URI在此 .txt 文件中读取的Silverlight 命令是什么.xap 文件恰好放置在哪个位置?

0 投票
1 回答
2023 浏览

c# - 将 XamlReader 用于没有默认构造函数的控件

我有一些 Xaml 对象的字符串表示形式,我想构建控件。我正在使用XamlReader.Parse函数来执行此操作。对于一个简单的控件,例如具有默认构造函数的 Button 不带任何参数,这可以正常工作:

但是,当我尝试对 Stroke 控件执行此操作时,它会失败。首先尝试一个简单的空笔画:

这给出了错误:

无法创建“System.Windows.Ink.Stroke”类型的对象。CreateInstance 失败,这可能是由于没有“System.Windows.Ink.Stroke”的公共默认构造函数造成的。

在 Stroke 的定义中,我看到它至少需要构造一个 StylusPointsCollection。我认为这是错误告诉我的,虽然有点假设这将由 XamlReader 处理。尝试使用 StylusPoints 转换 Xaml 的 Stroke 会产生相同的错误:

我究竟做错了什么?如何告诉 XamlReader 如何正确创建 Stroke?

0 投票
2 回答
861 浏览

c# - XamlReader.Parse 在空字符串上引发异常

在我们的应用程序中,无论对象的类型如何,我们都需要将对象的属性保存到同一个数据库表中,形式为propertyName、propertyValue、propertyType。我们决定使用 XamlWriter 来保存所有给定对象的属性。然后,我们使用 XamlReader 加载创建的 XAML,并将其转换回属性的值。这在大多数情况下都可以正常工作,除了空字符串。XamlWriter 将保存一个空字符串,如下所示。

XamlReader 看到此字符串并尝试创建一个字符串,但在要使用的 String 对象中找不到空构造函数,因此它会引发 ParserException。

我能想到的唯一解决方法是如果它是一个空字符串,则实际上不保存该属性。然后,当我加载属性时,我可以检查哪些属性不存在,这意味着它们将是空字符串。

是否有一些解决方法,或者是否有更好的方法来做到这一点?

0 投票
1 回答
1714 浏览

wpf - WPF Richtextbox XamlWriter 行为

我正在尝试将一些 c# 源代码保存到数据库中。基本上我有一个 RichTextBox,用户可以输入他们的代码并将其保存到数据库中。

当我从 Visual Studio 环境复制和粘贴时,我想保留格式等。所以我选择将 FlowDocuments Xaml 保存到数据库并将其设置回 RichTextBox.Document。

我下面的两个函数序列化和反序列化 RTB 的内容。

但是,当我尝试序列化和反序列化以下代码时,我注意到这种不正确的(?)行为

序列化 XAML 是

using System; public class TestCSScript : MarshalByRefObject {}{ }

注意新的“{}”集

我在这里做错了什么......提前感谢您的帮助!

0 投票
2 回答
1281 浏览

xaml - Silverlight 4.0:数据模板错误

我试图在我的资源字典中获取特定模板。这是我的资源字典

但是,当它到达 XamlReader.Load

找不到类型“SharedContainerView”,因为“clr-namespace:Test.Layout.View”是未知命名空间。[行:4 位置:56]