zoukankan      html  css  js  c++  java
  • [WPF学习笔记]动态加载XAML

    好久没写Blogs了,现在在看【WPF编程宝典】,决定开始重新写博客,和大家一起分享技术。

    在编程时我们常希望界面是动态的,可以随时变换而不需要重新编译自己的代码。

    以下是动态加载XAML的一个事例代码。

    在debug文件夹下新建一个文本文件,重命名为:file.xaml

    插入界面代码:

    <DockPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">

    <Button Name="button1" Margin="30" Content="Pleas click me."></Button>

    </DockPanel>

    在VS新建LoadXAML.CS类。

    public class LoadXAML :Window

    {

    private Button button1;

     

    public LoadXAML(string xamlFile)

    {

    Width = Height = 285;

    Left = Top = 100;

    Title = "动态加载XAML";

     

    DependencyObject rootElement;

    using (FileStream fs=new FileStream(xamlFile, FileMode.Open))

    {

    rootElement =(DependencyObject) XamlReader.Load(fs);

     

    }

    Content = rootElement;

    //查找控件(方法一)

    //button1 = (Button) LogicalTreeHelper.FindLogicalNode(rootElement, "button1");

     

    //查找控件(方法二)

    FrameworkElement frameworkElement = (FrameworkElement) rootElement;

    button1 = (Button) frameworkElement.FindName("button1");

     

    button1.Click += button1_Click;

    }

     

    void button1_Click(object sender, RoutedEventArgs e)

    {

    button1.Content = "Thank you.";

    }

     

    修改App.xaml启动项

    protected override void OnStartup(StartupEventArgs e)

    {

    var win = new LoadXAML("file.xaml");

    win.Show();

    }

  • 相关阅读:
    System.setProperty()
    ExtJs自学教程(1):一切从API開始
    【福利!】英雄联盟国服更新补丁速度极慢的解决方法
    ORACLE触发器具体解释
    我的Hook学习笔记
    Runood-JSP:JSP 客户端请求
    Runoob-JSP:JSP 隐式对象
    Runoob-JSP:JSP 动做元素
    Runoob-JSP:JSP 指令
    Runoob-JSP:JSP 生命周期
  • 原文地址:https://www.cnblogs.com/pbuilder/p/4414562.html
Copyright © 2011-2022 走看看