关键词:
1. WINFORM中添加两个ElementHost,一个放WPF的Button,一个放WPF的TextBox。其中TextBox与数据源绑定,实现跨线程也可以自动更新,而不会出现WINFORM的TextBox控件与数据源绑定后,存在子线程中更新数据源报错(跨线程更新控件)的情况。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows; // 自行添加支持WPF控件 using System.Windows.Data; // 自行添加支持WPF控件 using System.Windows.Controls; // 自行添加支持WPF控件 using System.Windows.Forms; using System.IO.Ports; using System.Net; using System.Net.Sockets; using System.Threading; namespace UI { public partial class MainForm : Form { public class DataSource : INotifyPropertyChanged { private int _index; public int Index { get { return _index; } set { _index = value; if (PropertyChanged != null) { this.PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Index")); } } } public event PropertyChangedEventHandler PropertyChanged; } System.Windows.Data.Binding _bind; Thread _thread; DataSource _dataSource; bool _run; public MainForm() { InitializeComponent(); // Create a WPF Button System.Windows.Controls.Button btn = new System.Windows.Controls.Button(); btn.Content = "Button in WPF"; // 修改内容属性 System.Windows.Media.FontFamily font = new System.Windows.Media.FontFamily("Ariel"); // 修改字体属性 btn.FontFamily = font; btn.Click += new System.Windows.RoutedEventHandler(btn_Click); // 增加事件响应 // Add it to ElementHost elementHost1.Child = btn; // Create a WPF TextBox System.Windows.Controls.TextBox txtBox = new System.Windows.Controls.TextBox(); txtBox.Text = "TextBox in WPF"; // 修改内容属性 txtBox.FontFamily = font; _dataSource = new DataSource(); // System.Windows.Data.Binding方式 _bind = new System.Windows.Data.Binding(); _bind.Source = _dataSource; _bind.Path = new PropertyPath("Index"); _bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; txtBox.SetBinding(System.Windows.Controls.TextBox.TextProperty, _bind); // 增加数据源绑定 // Add it to ElementHost elementHost2.Child = txtBox; // 子线程运行 _run = true; _thread = new Thread(Test); _thread.Start(); } void Test() { while (_run) { _dataSource.Index++; Thread.Sleep(100); } } private void btn_Click(object sender, EventArgs e) { System.Windows.Forms.MessageBox.Show("WPF button clicked!"); } private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { _run = false; if (_thread != null) { _thread.Join(); _thread = null; } } } }
wpf怎么在遮罩层中加入控件
参考技术A我不是很确定你的意思。不过遮罩层也就是设置下透明度的一个容器而已。如果你这个遮罩层不是用单纯的rectangle去做,而是用grid或者border去做,里面就可以任意放控件了。 查看详情
wpf和winform的区别
参考技术A wpf和winform的区别是: 1、WPF和WinForms是两种完全不一样的UI技术,WPF也并不能完全取代WinForms。 2、inform的控件更多,但是wpf的界面可以更炫酷,更重要的是wpf对于屏幕的自适应比winform优秀得多。 3、winfor... 查看详情
wpf入门教程系列十五——wpf中的数据绑定
...用户界面,同时WPF提供了数据绑定功能。WPF的数据绑定跟Winform与ASP.NET中的数据绑定功能类似,但也有所不同,在WPF中以通过后台代码绑定、前台XAML中进行绑定,或者两者组合的方式进行数据绑定。您可以绑定控件、公共属性、... 查看详情
c#winform类似于如下图显示用啥控件绑定并实现分页
DataGridView控件是表格,而你发的是web的模版List.所以在Winform中可使用DataRepeater.可以在模版中创建你想要的布局.直接绑定应该做不了.需要手动添加.更多内容请看msdn的例程:http://msdn.microsoft.com/zh-cn/subscriptions/downloads/cc488278.aspx关于... 查看详情
wpf显示视频,image控件闪屏,使用winform控件实现
使用C#调用mingw的动态库实现视频识别软件,程序通过C++调用opencv打开视频,将图像的原始数据以rgb24的方式传递给C#端,C#通过构造图像对象给控件赋值的方式显示图片。一开始使用wpf的控件image:1while(true)2{3S_IMGsimg=Mingw.display();/... 查看详情
WinForm 数据绑定控件结果返回类名不是实际数据
】WinForm数据绑定控件结果返回类名不是实际数据【英文标题】:WinFormDataboundControlResultsReturnClassNameNotActualData【发布时间】:2020-08-1009:29:28【问题描述】:我很难找到解决问题的方法。我搜索了互联网,多次重建了我的课程,并... 查看详情
winform开发中如何将数据库字段绑定到combobox控件
...多问题,希望通过博客把一些印象深刻的问题记录下来。Winform开发中如何将数据库字段绑定到ComboBox控件1.问题引入在开发中用到了ComboBox控件,也就是实现下拉选择功能的控件。但是选项的数据并不是固定的,而是要根据数据... 查看详情
binding:数据绑定
...节主要讲使用Binding进行数据绑定。Binding的作用 在WinForm中,我们要想对控件赋值,需要在后台代码中拿到控件对象进行操作,这种赋值形式,从根本上是无法实现界面与逻辑分离的。在WPF中,微软引入了... 查看详情
将 WPF 控件与 WinForms 一起使用
】将WPF控件与WinForms一起使用【英文标题】:UsingaWPFControlwithWinForms【发布时间】:2021-05-2818:48:39【问题描述】:我有一个自定义的WPF按钮控件,我想将此控件与WinForm应用程序一起使用。我知道如何使用ElementHost将WPF用户控件与Win... 查看详情
强制验证 WPF 中的绑定控件
】强制验证WPF中的绑定控件【英文标题】:ForcevalidationonboundcontrolsinWPF【发布时间】:2010-10-0318:17:25【问题描述】:我有一个WPF对话框,上面有几个文本框。文本框绑定到我的业务对象并附加了WPF验证规则。问题是用户可以完美... 查看详情
winform控件combobox数据绑定
ComboBox下拉菜单控件,在数据库内的ComboBox应用的表进行修改时,如果是用的普通方法,显示数据一个方法,添加数据一个方法这样会导致程序后期维护难度增加,在这里使用数据绑定来让ComboBox数据实现根据数据库对应表数据显示,降低... 查看详情
datagrid数据源绑定winform和wpf的区别
SqlDataAdaptersda=newSqlDataAdapter();sda.SelectCommand=cmd;DataSetds=newDataSet();sda.Fill(ds);DataGrid1.ItemsSource=ds.Tables[0]; (这是winform中的写法)------------------------------------------------ 查看详情
wpf动态列(datagridtemplatecolumn)绑定数据(自定义控件)
原文:WPF动态列(DataGridTemplateColumn)绑定数据(自定义控件) 因为项目需要要实现这个~ 怎么实现画红框内容部分田字格和上面Textbox属于一个自定义控件 大致功能是获得一个字符串和一组颜色值最后田字格会显... 查看详情
WPF MVVM - 如何绑定自定义控件->ToggleButton.IsChecked 到 View->TextBox.Text
...ext【发布时间】:2014-12-1021:37:17【问题描述】:我正在从WinForms转移到WPF并尝试为触摸屏应用程序实现MVV 查看详情
wpf随笔之控件根据设定的显示行数列数填充控件并自适应窗体大小(多绑定mvvm方式实现)(代码片段)
...图,如见最下面)需求:根据设置的行数列数,控制展示控件个数,并且填充的控件们大小刚刚好自适应填充满固定的区域,并且调整窗体大小的时候控件动态自适应窗体大小,即自适应大小并不显示滚动条(比如,设置了1行1... 查看详情
wpf的特点和优点哪些?
...定”功能,使得MVVM得以实现,成为“属性驱动”,而非WinForm的“事件驱动”;属性的更改可以自动获得,甚至动过转换器触发各种展示/行为的变更;3.绚丽的展示效果,WPF(WindowsPresentationFundation)顾名思义其强大的图形化API为... 查看详情
Winforms 中的数据绑定
】Winforms中的数据绑定【英文标题】:DatabindinginWinforms【发布时间】:2011-12-0114:32:06【问题描述】:我在VS2010中有一个数据输入WinformsApp。连同连接到SQLCompact数据库的实体数据模型(.edmx)。在这个数据库中,我有一个要插入的表Tic... 查看详情
winform绑定listview控件
...taSet的方法,返回你要绑定的那张表的数据,把DataSet作为数据源给listView,绑定就好啦 查看详情