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!

  • 相关阅读:
    numpy中的随机数模块
    windows下用pycharm安装tensorflow简易教程
    Tensor是神马?为什么还会Flow?
    TypeError: 'NoneType' object is not subscriptable
    pycharm 运行错误信息显示乱码
    pycharm terminal 'import' 不是内部或外部命令,也不是可运行的程序
    pycharm 出现 "PEP:8 expected 2 blank lines ,found 0"
    TensorFlow升级1.4:Cannot remove entries from nonexistent file libsite-pack
    win10 python3.5 自动补全设置
    python pip NameError:name 'pip' is not defined”
  • 原文地址:https://www.cnblogs.com/DebugLZQ/p/2508846.html
Copyright © 2011-2022 走看看