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. Android开发入门——Button绑定监听事件三种方式

    import android.app.Activity; import android.os.Bundle;import android.view.View;import android.widget ...

  2. Python实践练习:正则表达式查找

    题目 编写一个程序,打开文件夹中所有的.txt 文件,查找匹配用户提供的正则表达式的所有行.结果应该打印到屏幕上. 代码 #!/usr/bin/python # -*- coding: UTF-8 - ...

  3. sql中合并列方法

    方法一:创建合并列函数 -------创建一个方法---------- CREATE FUNCTION dbo.Role_Name(@AdminID int) ) AS BEGIN ) SET @r ...

  4. python之private variables

    [python之private variables] “Private” instance variables that cannot be accessed except from inside a ...

  5. Django 1.10.2 模型数据库操作

    首先我的django 版本 >>> django.VERSION (1, 10, 2, u'final', 0) setting.py: DATABASES = { 'default ...

  6. SQLServer锁的机制

    SQLServer锁的机制:共享锁(S)排它锁(X)更新锁(U)意向共享 (IS)意向排它 (IX) 意向排它共享 (SIX)架构修改(Sch-M) 架构稳定性(Sch-S)大容量更新(BU)

  7. IE6789浏览器使用console.log类似的方法输出调试内容但又不影响页面正常运行

    问题来源:外网IE下,触发js报错.经检测,未清除console造成.清除console后,解决. 问题原因:console.log 原先是 Firefox 的“专利”,严格说是安装了 Firebug ...

  8. 超赞!UX写手必备技能

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 今天,小编非常荣幸能与大家一起分享一些优秀UX 写手必备的成功技能: 1.开篇抓住用户的心 MBE曾 ...

  9. UI / UX设计师如何玩转用户心理学原理?

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 众所周知,心理学在APP的用户体验设计中起着非常重要的作用.通过了解我们的设计是如何被感知的,我们可 ...

  10. 想成为一名成功的UX设计师吗?做好这13件事情吧

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 丢掉那些阻碍你前进的东西 每个人对成功的定义都不同.如果想在重要事情上取得成功,学会给予才是关键.只 ...