(十)WPF中调用WinForm控件PropertyGrid

1.自定义控件WpfPropertyGrid

  • 在UI层创建WpfPropertyGrid
  • Microsoft确保WinForms控件仍然可以在WPF应用程序中使用,这是通过WindowsFormsHost完成的。
    WindowsFormsHost控件
    PropertyGrid
  • 在页面CS中做选中项的属性通知业务
 public object SelectedObject
 {
     get { return (object)GetValue(SelectedObjectProperty); }
     set { SetValue(SelectedObjectProperty, value); }
 }

 // Using a DependencyProperty as the backing store for SelectedObject.  This enables animation, styling, binding, etc...
 public static readonly DependencyProperty SelectedObjectProperty =
     DependencyProperty.Register(nameof(SelectedObject), typeof(object), typeof(WpfPropertyGrid), new FrameworkPropertyMetadata(SelectedObjectPropertyCallBack));
 //或者写"SelectedObject"  <--nameof(SelectedObject)
 private static void SelectedObjectPropertyCallBack(DependencyObject d, DependencyPropertyChangedEventArgs e)
 {
     //d--WpfPropertyGrid  e是发生变化后的参数值
     if(d is WpfPropertyGrid wpfPropertyGrid)
     {
         wpfPropertyGrid.propertyGrid.SelectedObject = e.NewValue;
     }
 }
  • 要确保该项目引入了这两个程序集
    image
    image

2.使用winform控件

image

3.设置页参数改变的事件响应

  • 点击确定时执行
    image

  • 这个invoke方法,触发硬件层的这个事件
    image

  • 硬件层初始化传入参数修改
    image
    image

  • 硬件生命周期管理器初始化传参修改
    image

4. System.OutOfMemoryException

.Net 内存溢出(System.OutOfMemoryException)的常见情况和处理方式总结

引发类型为“System.OutOfMemoryException”的异常

posted @ 2023-12-13 16:37  huihui不会写代码  阅读(512)  评论(0)    收藏  举报