Nuget:搜索MaterialDesign关键字,下载MaterialDesignThemes
在Appxaml 引入MD常用资源方便所有界面调用(不是所有第三方库都需要)
<Application x:Class="WpfApp2App"
xmlns=">1)提起WinForm中的Graphics,自然会联系到了传统Windows的图像核心GDI和GDI+;WPF不再依赖于GDI和GDI+,而是Direct3D。并且所有的Primitive都是通过Direct3D的本地接口实现的。所以WPF程序不存在Graphics对象。WPF与Winform相比,颇有点“颠覆”意味!
2)在Windows 7中仍然支持GDI/GDI+,允许用户继续采用“传统的”WinForm+Graphics方式进行图形编程。
在WPF中中, OpenFileDialog位于 MicrosoftWin32 名称空间。WPF程序使用OpenFileDialog的方法如下:
(1)在Visual Studio中新建一个“WPF应用程序”项目
(2)MainWindowxaml
(3)MainWindowcs
using SystemWindows;namespace WpfApplication1
{
/// <summary>
/// MainWindowxaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
// 在WPF中, OpenFileDialog位于MicrosoftWin32名称空间
MicrosoftWin32OpenFileDialog dialog =
new MicrosoftWin32OpenFileDialog();
dialogFilter = "文本文件|txt";
if (dialogShowDialog() == true)
{
lblFileNameContent = dialogFileName;
}
}
}
}
(4)运行效果
选择文件并打开后
写一个类用来申明密令:public static class StuCommand
{
public static readonly RoutedCommand BtnStu=new RoutedCommand("查看学生信息",typeof(StuCommand));
}
到需要用到命令xaml的cs界面注册(好比 studentxamlcs):
其本身会有一个构造函数 public student(){};
在自己写一个静态的在里面注册密令;
static student()
{
CommandManagerRegisterClassCommandBinding(typeof(student),
new CommandBinding(StuCommandBtnStu,BtnStuEvevtsExecute, BtnStuEvevtsCanExecute));
}
static void BtnStuEvevtsExecute(object sender,ExecutedToutedEventArgs e)
{
//这里很灵活,可以拿按钮的数据上下文等等,下面只是最简单的
var BtnStuManager=sender as student;
if(BtnStuManager!=null)
{
//此处写当点击按钮要执行的代码,建议封装一个方法在这里调用。比如下面声明的Refresh()方法
BtnStuManagerRefresh();
}
}
static void BtnStuEvevtsCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
var BtnStuManager=sender as student;
eCanExecute= true/false/一些条件 //为真按钮启用,为假按钮置灰不能用
}
public void Refresh()
{
//这是方法,代码就不写了。
}
然后在studentxaml页面中绑定:
<Button
Command="{x:Static local:StuCommandBtnStu}"
CommandTarget="{Binding RelativeSource={RelativeSource AncestorType=local:student}}"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)