• [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!");
            }
        }
    }
    

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

  • 相关阅读:
    ColorMask
    InfoPanel
    什么是三消游戏
    Display file information in the document window
    Layer Comps
    Add words to your picture
    为什么质数是无穷的?
    嘉年华的来历
    MonoBehaviour.OnValidate
    Loadrunner中百分比模式和Vuser模式
  • 原文地址:https://www.cnblogs.com/catzhou/p/12370666.html
Copyright © 2020-2023  润新知