wpf怎么使用第三方库

wpf怎么使用第三方库,第1张

For Example:引用MaterialDesign库(辅助界面设计的开源库)
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}}"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10552941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存