Canvas.SetTop(按钮,位置)
也可以用Grid 布局 按钮设置 左对齐 和顶对齐 然后通过Margin设置按钮位置
Caliburn.Micro(以下简称CM) 根据它的官网(https://caliburnmicro.com/)介绍,是一个简洁的轻量级的MVVM开源框架,它是一套协助开发WPF、Silverlight、Windows RT等应用程序的库。
接上一个文章,讲我们wpf程序改成MVVM框架,为了便于查看,增加两个文件夹分别用于存放View,ViewModel,同事删除默认启动文件MainWindow.xaml
可通过CM官网文档进行改造启动文档或者直接参考github(https://github.com/Caliburn-Micro)下面的sample
Boostrapper继承BootstrapperBase,通过container请求ViewModel启动View,如下
之前删除MianWindow同时要删除之前的启动方式StartupUri
引用本地的bootstrapper
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<local:Bootstrapper x:Key="Bootstrapper" />
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
正常显示
需要继承Screen,Screen就是用来表示UI部件的,可以通过GetView可以获得对应的View对象。因为Screen实现了很多功能,所以个人建议所有ViewModel都继承自Screen
新增一个文本显示
CM View TextBlock可以通过Name属性与ViewModel ShowHello进行绑定
构造方法中给ShowHello赋值,运行时显示在View中,最终显示如下
简单的CM框架的小程序就完成了
有空的话就帮你写了,我以前做过在wpf中使用winform中的控件,其间也看到了在winform中使用wpf控件的文章,不过费点劲。不知道你是不是这个意思。如果你说的windows窗口也是wpf写的话那用delegate和event就可以把任何你想要的东西以参数形式回传给父窗体,父窗体在new完了注册事件就行了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)