zoukankan      html  css  js  c++  java
  • [Wpf学习] 2.代码导入Xaml

    废话不说,直接上代码

    using System.ComponentModel;
    using System.Runtime.CompilerServices;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Markup;
    
    namespace L2_Core_LoadXaml
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public class VM : INotifyPropertyChanged
            {
                public event PropertyChangedEventHandler PropertyChanged;
    
                public void RaisePropertyChanged([CallerMemberName]  string propertyName = "")
                {
                    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
                }
                private string _A;
                public string A
                {
                    get => _A;
                    set
                    {
                        _A = value;
                        RaisePropertyChanged();
                    }
                }
            }
            public MainWindow()
            {
                InitializeComponent();
                this.DataContext = new VM() { A = "Hello" };
                this.Loaded += MainWindow_Loaded;
            }
    
            private void MainWindow_Loaded(object sender, RoutedEventArgs e)
            {
                string xaml = @"
    <Grid xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">
        <Button  Name=""Button1"" Content=""{Binding A}""></Button>
    </Grid >
    ";
    
                var rootElement = (DependencyObject)XamlReader.Parse(xaml);
                this.Content = rootElement;
                Button button1 = (Button)LogicalTreeHelper.FindLogicalNode(rootElement, "Button1");
                button1.Click += (o, e) => MessageBox.Show("Xaml loaded!");
            }
        }
    }
    

    有了这玩意,似乎打开了一扇窗——前后端真正分离?

  • 相关阅读:
    软工结对作业
    软工个人博客作业-软件案例分析
    软工个人项目作业
    软工个人博客作业
    软工第一次个人作业
    2019OO第三单元作业总结
    2019OO第二单元作业总结
    提问回顾以及个人总结
    软工结对项目——图形交点PLUS
    个人博客作业-软件案例分析
  • 原文地址:https://www.cnblogs.com/catzhou/p/12370666.html
Copyright © 2011-2022 走看看