- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个通用 WP7 程序集,它将显示我的应用程序的通用帮助/关于信息,每个应用程序程序集将指定一对 StackPanels,其中包含一些应用程序特定信息(称为 em Legal.xaml 和 WhatsNew.xaml)。
理想情况下,这些特定于应用程序的 XAML 文件应该是纯文本形式(而不是在代码中实例化的内容),以便可以通过 HTTP 或作为嵌入式资源字符串加载。
加载 XAML 工作正常,直到我尝试将一些样式定义分解到另一个文件中,然后 XamlReader.Load() 失败并显示一条注释:“属性 AboutPageDocs/CommonStyles.xaml 值超出范围。 [行:43 位置:45]”
加载 Legal.xaml 时会发生该错误,当我们查看 43 时,我们会发现我试图加载现在包含自定义样式的 ResourceDictionary 的位置:
<StackPanel.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="AboutPageDocs/CommonStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</StackPanel.Resources>
最佳答案
当我意识到 XamlReader 能够在将引用的 XAML 文件指定为绝对路径时解析它们,因此我寻找了一种指定自己的上下文的可能性。
当我在调用 XamlReader.Load() 时指定 ParserContext 时,我发现这对我有用
public static FlowDocument ReadFlowDocument( FileInfo xamlFile )
{
// Specify a ParserContext.
// It's important to set BaseUri to the file itself
// not to its parent direcory!
ParserContext parserContext = new ParserContext();
parserContext.BaseUri = new Uri( xamlFile.ToString() );
// Create a stream from this file
FileStream stream = new FileStream( xamlFile.ToString(), FileMode.Open );
// Let the XamlReader load and parse the XAML. It will resolve any referenced ResourceDirectories
// specified with a relative path
return (FlowDocument) XamlReader.Load( stream, parserContext );
}
关于xaml - 在 XamlReader.Load() 加载的文件中成功引用 ResourceDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8394208/
我知道对于具有指定 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 和
我是一名优秀的程序员,十分优秀!