- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在玩 .net 4 System.Windows.Markup.XamlReader
- 就像一个教育练习 - 我一直遇到同样的问题:用 XamlReader.Load
加载 xaml抛出一个 XamlParseException
如果根对象定义了 x:Class
,但如果没有,则成功解析并加载节点。
这是我正在尝试的代码:
using System.Windows;
using System.Xaml;
using XamlReader = System.Windows.Markup.XamlReader;
namespace WpfApplication2
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// Load up UserControl1.xaml from the solution
var reader = new XamlXmlReader(@"../../UserControl1.xaml", XamlReader.GetWpfSchemaContext());
var userControl = XamlReader.Load(reader) as UserControl1;
// Do something with userControl...
}
}
}
XamlReader.Parse
直接从保存 xaml 的字符串获得相同的结果:仅在未定义 x:Class 声明时才有效。
x:Class
声明似乎不是一个好的选择,因为那样我就会丢失代码隐藏,特别是对
InitalizeComponent()
的调用。
'Specified class name 'WpfApplication2.UserControl1' doesn't match actual root instance type 'System.Windows.Controls.UserControl'. Remove the Class directive or provide an instance via XamlObjectWriterSettings.RootObjectInstance.'
XamlObjectWriterSettings.RootObjectInstance
(或者确实,如果需要的话?)
最佳答案
XamlReader 是解析器,而不是编译器,因此不支持代码隐藏。如果您需要将代码与动态加载的 XAML 相关联,您可以执行一些操作,例如将其包装到在其他地方定义的控件中,您可以使用 XAML 中的实例,或者在读取 XAML 后连接代码(即事件处理程序) 到结果对象中的元素。
关于wpf - 调用 XamlReader.Load 时抛出 XamlParseException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5201937/
我知道对于具有指定 clr-namespace: 和 assembly= 标记的控件,XamlReader 只是在指定的程序集中查找该类型。 但是默认命名空间 xmlns="http://schema
在运行时使用DataTemplateSelector创建列。 XamlReader.Load处有异常:System.Windows.StaticResourceExtension。如何加载资源? va
我现在有一个带有德语变音符号(见下文)的 xaml,当我尝试解析它时,我收到了一个无效字符错误。 当我不使用 XamlParser 上下文时,它会起作用。但是我必须使用它来设置一些类型映射 XAML:
我现在有一个带有德语变音符号(见下文)的 xaml,当我尝试解析它时,我收到了一个无效字符错误。 当我不使用 XamlParser 上下文时,它会起作用。但是我必须使用它来设置一些类型映射 XAML:
我正在 WPF (.Net 3.5) 中创建一个应用程序,我希望能够根据每个客户端对其进行自定义。我将资源提取到外部 xaml(主题)文件中。将 xaml 文件构建为 Page,效果非常好。 现在我想
我正在尝试加载 foillowing xaml: 在我
我正在尝试加载 foillowing xaml: 在我
在我们的应用中,无论对象的类型如何,我们都需要将对象的属性以propertyName、propertyValue、propertyType的形式保存到同一个数据库表中。我们决定使用 XamlWrite
我有一些 Xaml 对象的字符串表示形式,我想构建控件。我正在使用 XamlReader.Parse功能来做到这一点。对于一个简单的控件,例如 Button,它有一个不带任何参数的默认构造函数,这工作
我正在尝试从 xaml 生成我自己的自定义磁贴。我已将一些代码从 C++ 转换为 C#,以便将其集成到我的应用程序中。 基本上我有这个方法: async Task GenerateHighResTil
我在 (UIElement)XamlReader.Load(...) 期间得到一个异常 'Cannot create unknown type 'TextBox'.' Line number '1'
F# 不支持部分类,也不支持 XAML 文件的预编译。解决方法:在运行时加载图形对象定义,而不是后面的编译时代码。有多种方法可以为 XamlReader 提供引用资源文件的内容。 open Syste
XamlReader正在使用本地程序集和 WPF 程序集中定义的类型加载 Xaml,没有任何问题。 如果我包含在外部程序集中定义的类型,那么 XamlParseException抛出以下消息。 Can
我正在尝试在我的 WPF 项目中实现下面的代码,以便为具有动态列的 DataGrid 动态生成 DataTemplates。我在 StackOverflow here 上找到了代码 public Da
我正在使用 XamlReader.Parse(string) 动态构建我的数据模板。我遇到的问题是我无法将任何事件放在我使用 XamlReader 创建的任何控件上。在网上做了一些研究后,我了解到这是
与 earlier question 有关我问过,我看到有 LoadComponent() 和 XamlReader.Load()。它们非常相似,以至于我不太确定在什么情况下应该使用哪一个。 那么,从
我有一个程序,用户可以在其中查看保存在 XAML 中的各种 3D 模型,然后使用 TrackballDecorator 操作 Viewport3D。这些 XAML 文件中包含转换,我使用问题 WPF
WPF 应用程序具有使用 XamlReader.Load() 方法从单独的文件加载用户控件的操作: StreamReader mysr = new StreamReader(pathToFile);
我正在玩 .net 4 System.Windows.Markup.XamlReader - 就像一个教育练习 - 我一直遇到同样的问题:用 XamlReader.Load 加载 xaml抛出一个 X
我正在构建一个通用 WP7 程序集,它将显示我的应用程序的通用帮助/关于信息,每个应用程序程序集将指定一对 StackPanels,其中包含一些应用程序特定信息(称为 em Legal.xaml 和
我是一名优秀的程序员,十分优秀!