EKsumic's Blog

The current theme of this website is Japanese learning.

Click the left button to use the catalog.

OR

C#Winform向WPF过渡入门(一)

前情提要:

这是我尝试在winform里面给主界面添加视频背景,

遇到的问题:

[1] 使用EmguCV出现 “无法加载 DLL“cvextern”: 找不到指定的程序”

[2] 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

实在解决不了,才开始学wpf了。


事先声明:

  1. 需要先具有一定的HTML基础
  2. 后台都是C#,不用学
  3. 前台设计模式偏向于网页,使用XAML语言,偏向HTML5化
  4. WPF继承了WinForm的拖拉拽特性,你可以像Winform那样开发,但不建议这样做
  5. 大体上还是XAML编程为主


WPF与Winform的区别:

  • 取消了Program.cs里控制台启动MainForm的方式,改用App.xaml启动
  • .xaml文件本身还会关联一个.cs文件,不像Winform一个设计器要关联Designer.cs和后台代码的cs文件
  • 在Application标签里的StartupUri属性将定义你启动的MainForm,或者你可以采用后台.cs文件重写OnStartup方法

具体重写OnStartup的方法:

protected override void OnStartup(StartupEventArgs e)
{
       MainWindow view=new MainWindow();
       view.ShowDialog();
}

C#Show()和ShowDialog();区别这里再补充一下

在C#中窗口的显示有两种方式:模态显示(showdialog)和非模态显示(show)。

区别:

模态与非模态窗体的主要区别是窗体显示的时候是否可以操作其他窗体。模态窗体不允许操作其他窗体,非模态窗体可以操作其他窗体。

什么时候用ShowDialog()?

姑且我大多数情况下还是用的Show(),特殊情况暂时没遇到过就不讨论了。(等有了再回来补充)

 

下一篇:关于WPF的前端语言XAML的使用方式

This article was last edited at 2020-11-05 01:48:58

* *