在Winform窗体中使用WPF控件(附源码)
2012-05-19 13:51
211 查看
今天是礼拜6,下雨,没有外出,闲暇就写一篇博文讲下如何在Winform中使用WPF控件。原有是我在百度上搜索相关信息无果,遂干脆动手自己实现。
WPF控件的漂亮是Winform无法匹及的,本文主旨是在Winform工程中如何使用WPF控件。
先看下效果,如下图:
左边是传统的Winform控件,右边是DebugLZQ引入的WPF控件,我们可以很清楚的看到图片的“半透明”效果、TextBox的透明背景!界面很Cool吧~
下面就介绍下,这个创新性工程的创建过程,并附上所有代码:
首先,添加一个WPF自定义控件,控件的xaml很简单,代码如下:
其次,我们需要添加相应的设置效果的函数,代码如下:
OK,以上步骤完成后我们建立一个Winform应用程序,添加先关的引用,这个非常重要,否则控件无法正常工作,引用的清单如下:
这里需要重点提出的是WindowsFormsIntegration这个引用。
我们编译整个项目,编译成功在工具箱中会出现相应的控件,如下图:
拖动这个控件到Winform窗体中,调用相应的函数。函数调用代码如下:
OK,至此程序完成。很简单强大吧~
再次看下效果图:
请点击下面的“绿色通道”--“关注DebugLZQ”,共同学习进步~Thank you for your Time!
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!
相关文章推荐
- WPF or Silverligth使用WGrid和ScrollViewer自定义GridView控件(附源码)
- WinForm中一个窗体调用另一个窗体的控件和事件的方法(附带源码)
- WinForm中如何使用WPF中的控件
- WinForm中一个窗体调用另一个窗体的控件和事件的方法(附带源码)
- Winform中使用控件名来查找窗体或者容器中的控件
- Winform跨窗体操作控件(使用委托)
- Winform中使用控件名来查找窗体或者容器中的控件
- Winform跨窗体操作控件(使用委托)
- C# 如何在winform中使用wpf用户控件
- VS2015使用小技巧 winform编辑窗体(拖拽控件)的的时候,工具箱挡住了窗体,如何解决
- Github 开源:使用控制器操作 WinForm/WPF 控件( Sheng.Winform.Controls.Controller)
- c#中跨线程调用windows窗体控件 .我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。
- [WinForm] 使用反射将业务对象绑定到窗体或控件容器
- C# Winform使用线程改变窗体控件的属性
- C# Winform使用WPF控件
- 关于WinForm引用WPF窗体---在Winform窗体中使用WPF控件
- [转]WinForm"不错的Vista风格水晶按钮"控件使用(附:源码demo) 之配餐系统的开发
- windows窗体程序中使用WPF控件 Host WPF Controls in Windows Forms Application
- WinForm中使用反射将业务对象绑定到窗体或控件容器
- 怎样在WPF/XAML中使用Winform中的控件(如PictureBox)?