using (FileStream fs = new FileStream("UnitFile/Report2.xaml", FileMode.Open))
{
rootElement = (FrameworkElement)XamlReader.Load(fs);
}

在用XamlReader.Load时,报错。

Report2.xaml文件的内容如下:

<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="25" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Style="{DynamicResource BorderEditStyle}">
<WrapPanel Style="{StaticResource WrapPanelEditStyle}">
<StackPanel Style="{StaticResource StackPanelEditStyle}">
<Label Style="{StaticResource LableEditStyle}" Content="名称"/>
<TextBox Style="{StaticResource TextEditStyle}"/>
</StackPanel>
<StackPanel Style="{StaticResource StackPanelEditStyle}">
<Label Style="{StaticResource LableEditStyle}" Content="型号"/>
<TextBox Style="{StaticResource TextEditStyle}"/>
</StackPanel>
<StackPanel Style="{StaticResource StackPanelEditStyle}">
<Label Style="{StaticResource LableEditStyle}" Content="制单人"/>
<TextBox Style="{StaticResource TextEditStyle}"/>
</StackPanel>
<StackPanel Style="{StaticResource StackPanelEditStyle}">
<Label Style="{StaticResource LableEditStyle}" Content="制单日期"/>
<DatePicker Style="{StaticResource DateEditStyle}"/>
</StackPanel> <StackPanel Style="{StaticResource StackPanelEditStyle}">
<Label Style="{StaticResource LableEditStyle}" Content="计划数量"/>
<TextBox Style="{StaticResource TextEditStyle}"/>
</StackPanel>
<StackPanel Style="{StaticResource StackPanelEditStyle}">
<Label Style="{StaticResource LableEditStyle}" Content="合格数量"/>
<TextBox Style="{StaticResource TextEditStyle}"/>
</StackPanel>
<StackPanel Style="{StaticResource StackPanelEditStyle}">
<Label Style="{StaticResource LableEditStyle}" Content="报废数量"/>
<TextBox Style="{StaticResource TextEditStyle}"/>
</StackPanel>
<StackPanel Style="{StaticResource StackPanelEditStyle}">
<Label Style="{StaticResource LableEditStyle}" Content="返修数量111"/>
<DatePicker Style="{StaticResource DateEditStyle}"/>
</StackPanel>
</WrapPanel>
</Border>
<Button Height="25" Width="50" Grid.Row="1" Content="test" Command="{Binding AddCommand}"/>
<DataGrid Grid.Row="2" ItemsSource="{Binding list}" AutoGenerateColumns="False"
> <DataGrid.Columns>
<DataGridCheckBoxColumn Header="选择"
Binding="{Binding FIsChecked}"/>
<DataGridTextColumn Header="名称" Binding="{Binding FName}"/> <DataGridTextColumn Header="出生年月" Binding="{Binding FBirth}"/>
<DataGridTextColumn Header="家庭住址" Binding="{Binding FAddress}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>

查了下资料说需要添加一些引用。

我也不知道需要添加哪几个引用。于是我就用如下代码将上面的界面导出来

using (FileStream fs = new FileStream(
System.IO.Path.Combine(Environment.CurrentDirectory, "saved.xaml"),
FileMode.Create, FileAccess.Write))
{
XamlWriter.Save(mainCanvas, fs);//mainCanvas为你的grid的Name
fs.Close();
}

导出的结果如下

于是我就将这几个引用添加到Report2.xaml中。再通过XamlReader.Load()方法就可以成功加载了。

WPF XamlObjectWriterException:无法创建未知类型"Grid"的更多相关文章

  1. WPF 中动态创建和删除控件

    原文:WPF 中动态创建和删除控件 动态创建控件 1.容器控件.RegisterName("Name",要注册的控件)   //注册控件 2.容器控件.FindName(" ...

  2. WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法。

    原文:WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/articl ...

  3. java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量

    package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...

  4. 创建 MIME 类型////////////zzz

    用 Apache 创建 MIME 类型 在 Apache 里, MIME 类型和文件扩展名之间的映射是被存放在配置文件 "apache根目录/conf/mime.types" 里的 ...

  5. 基于Andoird 4.2.2的Account Manager源代码分析学习:创建选定类型的系统帐号

    AccountManager.addAccount() public AccountManagerFuture<Bundle> addAccount(final String accoun ...

  6. MSIL实用指南-创建枚举类型

    创建枚举类型比较简单,主要使用moduleBuilder.DefineEnum 和enumBuilder.DefineLiteral. 第一步:创建 EnumBuilder 创建 EnumBuilde ...

  7. 根据dateFormatter创建NSDate类型数据

    根据dateFormatter 2000-01-01 创建NSDate类型数据 NSDateFormatter *dateFormatter = [NSDate shareDateFormatter] ...

  8. WebApi接口访问异常问题。尝试创建“testController”类型的控制器时出错。请确保控制器具有无参数公共构造函数

    本来运行的好好的webAPI 接口突然报了个 :“尝试创建“testController”类型的控制器时出错.请确保控制器具有无参数公共构造函数” 错误.耗了半宿最终解决了, 原因: api控制器中引 ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(十九):MessageHandler 的未知类型消息处理

    这是<微信开发深度解析:微信公众号.小程序高效开发秘籍>出版之后写的第一篇微信相关的文章.从这一篇开始,将介绍第一版出版之后添加或修改的功能,或者对书上内容需要做的补充. MP v14.8 ...

随机推荐

  1. Ubuntu 中安装 Docker

    检查 Device Mapper 是否存在 sch01ar@ubuntu:~$ ls -l /sys/class/misc/device-mapper 安装 Ubuntu 维护的版本 sch01ar@ ...

  2. 《OpenCL异构并行编程实战》补充笔记散点,第五至十二章

    ▶ 第五章,OpenCL 的并发与执行模型 ● 内存对象与上下文相关而不是与设备相关.设备在不同设备之间的移动如下,如果 kernel 在第二个设备上运行,那么在第一个设备上产生的任何数据结果在第二个 ...

  3. .net 架构

    .net Webservice 三层架构,BLL(业务逻辑层),DAL(数据访问层)sql语句.MODEL模型层也就是实体层Entity(数据库字段和类的定义的映射). UI层(Web/Form)界面 ...

  4. VB指针操作和消息钩子

    二.VB怎么用指针       要想弄明白VB怎么使用指针,就必须要弄明白两件事,第一,如何取得数组的指针,第二,如何将指针所指向的数组取出来.       A.在讲解这两个问题之前,我们需要了解几个 ...

  5. segment_object_model_3d

    * *********************************************************************** * This example program sho ...

  6. 数据挖掘模型中的IV和WOE详解

    IV: 某个特征中 某个小分组的 响应比例与未响应比例之差 乘以 响应比例与未响应比例的比值取对数 数据挖掘模型中的IV和WOE详解 http://blog.csdn.net/kevin7658/ar ...

  7. Redis 字典的实现

    [Redis 字典的实现] 注意 dict 类型使用了两个指针,分别指向两个哈希表. 其中, 0 号哈希表(ht[0])是字典主要使用的哈希表, 而 1 号哈希表(ht[1])则只有在程序对 0 号哈 ...

  8. Hadoop Pipes

    [Hadoop Pipes] 1.MapContext的getInputSplit()可以用于获取当前mapper所对象的文件路经,也就是Pipes中,没有InputSplit接口/对象. 2.在Pi ...

  9. S 导客户主数据 及更新销售团队、组织、品牌

    一.导入客户主表(INSERT) EXCEL模板 [Public] ConnectString=host="siebel://10.10.0.46:2321/HC_CRM/SMObjMgr_ ...

  10. 文件上传:input file FileReader

    js: window.onload = function () { var input = document.getElementById('input-file'), info = document ...