zoukankan      html  css  js  c++  java
  • 在Winform窗体中使用WPF控件(附源码)

    今天是礼拜6,下雨,没有外出,闲暇就写一篇博文讲下如何在Winform中使用WPF控件。原有是我在百度上搜索相关信息无果,遂干脆动手自己实现。

    WPF控件的漂亮是Winform无法匹及的,本文主旨是在Winform工程中如何使用WPF控件

    先看下效果,如下图:

    左边是传统的Winform控件,右边是DebugLZQ引入的WPF控件,我们可以很清楚的看到图片的“半透明”效果、TextBox的透明背景!界面很Cool吧~

    下面就介绍下,这个创新性工程的创建过程,并附上所有代码:

    首先,添加一个WPF自定义控件,控件的xaml很简单,代码如下:

    <Grid  >        
            <Image  Margin="10,10,10,90" x:Name="img" Stretch="Uniform" Opacity="1">
                <Image.BitmapEffect>
                    <DropShadowBitmapEffect Opacity="1" />
                </Image.BitmapEffect>
            </Image>
            <TextBox Background="Transparent"  Foreground="White" Height="40" FontSize="32" Margin="44,0,56,36" x:Name="txtBox1" Opacity="0.5" Text="" VerticalAlignment="Bottom" />
        </Grid>

    其次,我们需要添加相应的设置效果的函数,代码如下:

            public void SetSource(string fileName)
            {
                img.Source = new BitmapImage(new Uri(fileName) );
            }
    
            public void SetOpacity(double opacity)
            {
                img.Opacity = opacity;
            }
            //
            public string GetText()
            {
                return txtBox1.Text;
            }

    OK,以上步骤完成后我们建立一个Winform应用程序,添加先关的引用,这个非常重要,否则控件无法正常工作,引用的清单如下:

    这里需要重点提出的是WindowsFormsIntegration这个引用。

    我们编译整个项目,编译成功在工具箱中会出现相应的控件,如下图:

    拖动这个控件到Winform窗体中,调用相应的函数。函数调用代码如下:

    userControl11.SetSource(@"D:\临时文件\新建文件夹\DebugLZQ.jpg");
                
    userControl11.SetOpacity(0.5);
    string text = userControl11.GetText();

    OK,至此程序完成。很简单强大吧~

    再次看下效果图:

    请点击下面的“绿色通道”--“关注DebugLZQ”,共同学习进步~Thank you for your Time!

  • 相关阅读:
    python 面向对象之路(1) 类和对象 三大特性 封装 继承 多态
    python 模块之路 异常处理基础 异常处理其他 报错处理
    python 模块之路 序列化 json pickle
    python 模块之路 random模块 时间模块 sys模块 os模块
    python 模块之路 re模块运用
    python -模块之路 正则表达式
    【Unity】粒子特效优化实践
    快速实现Low Poly地形
    【Unity】屏幕空间位置变换到世界空间位置的方法
    Substance Designer 使用手册
  • 原文地址:https://www.cnblogs.com/DebugLZQ/p/2508846.html
Copyright © 2011-2022 走看看