• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 在WPF中动态加载XAML中的控件实例代码

在WPF中动态加载XAML中的控件实例代码

作者:kagula 字体:[增加 减小] 来源:互联网 时间:2017-05-28

kagula 通过本文主要向大家介绍了wpf xaml,wpf app.xaml,wpf xaml path,wpf xaml语法,wpf generic.xaml等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了在WPF中动态加载XAML中的控件的方法。分享给大家供大家参考,具体如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
using System.Xml;
using System.Windows.Markup;
/*
 * 功能:测试WPF中动态加载XAML中的控件
 *    并加到指定的子节点中。
 * 作者:Kagula
 * 时间:2012-09-20
 * 环境:VS2008 .NET FRAMEWORK 3.5
 * 参考资料:[1]《Application=Code+Markup 读书笔记 19》
 *        http://space.itpub.net/15123181/viewspace-423015
 *      [2]《Pack URIs in Windows Presentation Foundation》
 *        http://technet.microsoft.com/en-US/library/aa970069(v=vs.90)
 */
namespace testXAMLLoad
{
  /// <summary>
  /// Interaction logic for Window1.xaml
  /// </summary>
  public partial class Window1 : Window
  {
    public Window1()
    {
      InitializeComponent();
      //LoadEmbeddedXaml();
      //LoadEmbeddedXaml2();
      LoadEmbeddedXaml3();
    }
    //从字符串中加载
    public void LoadEmbeddedXaml()
    {
      Title = "Load Embedded Xaml";
      string strXaml = "<Button xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'" +
        " Foreground='LightSeaGreen' FontSize='16pt' Width='128' Height='32'>" +
        " From String Object!</Button>";
      StringReader strreader = new StringReader(strXaml);
      XmlTextReader xmlreader = new XmlTextReader(strreader);
      object obj = XamlReader.Load(xmlreader);
      grid1.Children.Add((UIElement)obj);
    }
    //从外部文件中加载 Button控件
    public void LoadEmbeddedXaml2()
    {
      XmlTextReader xmlreader = new XmlTextReader("d:\\a.xaml");
      UIElement obj = XamlReader.Load(xmlreader) as UIElement;
      grid1.Children.Add((UIElement)obj);
    }
    //从资源文件中加载
    public void LoadEmbeddedXaml3()
    {
      //Build Action = Resource,Do not Copy,无相应cs文件
      Uri uri = new Uri("/LoadXamlResource.xaml",UriKind.Relative);
      Stream stream =Application.GetResourceStream(uri).Stream;
      //FrameworkElement继承自UIElement
      FrameworkElement obj =XamlReader.Load(stream) as FrameworkElement;
      grid1.Children.Add(obj);
    }
  }
}

</div>

xaml文件中的清单

<Button xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
  Foreground='LightSeaGreen'
  FontSize='16pt'
  Width='128'
  Height='32'>
  From File Object!
</Button>

</div>

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#程序设计之线程使用技巧总结》、《C#操作Excel技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 在WPF中动态加载XAML中的控件实例代码

相关文章

  • 2017-05-28轻松学习C#的预定义数据类型
  • 2017-05-28C#中dynamic关键字的正确用法(推荐)
  • 2017-05-28C#下解析HTML的两种方法介绍
  • 2017-05-28C#自定义简化cookie类实例
  • 2017-05-28C# DES加密算法中向量的作用详细解析
  • 2017-05-28C#通过正则表达式实现提取网页中的图片
  • 2017-05-28C#远程获取图片文件流的方法
  • 2017-05-28C#实现可捕获几乎所有键盘鼠标事件的钩子类完整实例
  • 2017-05-28C# 读取指定路径配置文件的方法
  • 2017-05-28C# 实现计算生辰八字

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C# 3DES加密详解
    • C# 中将数值型数据转换为字节数组的方法
    • c#连接mdf文件示例分享
    • C#计算文件MD5校验的方法
    • C#难点逐个击破(2):out返回参数
    • C#中struct和class的区别详解
    • C#判断指定文件是否是只读的方法
    • C#获取存储过程返回值和输出参数值的方法
    • ASP.NET C#中Application的用法教程
    • C#设置MDI子窗体只能弹出一个的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有