WPF加载XAML文件中的控件

1.XAML文件内容,里面有一个Button控件,如下:

  
    
  

  WPF加载XAML文件中的控件_第1张图片

2.界面加载这个Button的代码:

  public MainWindow()
  {

    DependencyObject  rootElement;
    using (FileStream fs = new FileStream(@"C:\Users\14550\Desktop\Window1.xaml", FileMode.Open))
    {
      rootElement = (DependencyObject)XamlReader.Load(fs);
    }
    this.Content = rootElement;

  }

3.XAML中的控件要使用事件时,就得去遍历XAML文件,找到对应的控件,比如上面XAML文件中的button1要使用Click事件

  public partial class MainWindow : Window
  {
    private Button btn;
    public MainWindow()
    {
      InitializeComponent();

      DependencyObject  rootElement;
      using (FileStream fs = new FileStream(@"C:\Users\14550\Desktop\Window1.xaml", FileMode.Open))
      {
        rootElement = (DependencyObject)XamlReader.Load(fs);
      }
      this.Content = rootElement;

      btn = (Button)LogicalTreeHelper.FindLogicalNode(rootElement, "button1");
      btn.Click += btn_Click;

    }
    void btn_Click(object sender, RoutedEventArgs e)
    {
      MessageBox.Show("Hello");
    }
  }

 

转载于:https://www.cnblogs.com/zwj-199306231519/p/11141686.html

你可能感兴趣的:(WPF加载XAML文件中的控件)