效果如下: 代码如下: <Button Click="InventoryDetail_OnClick" Template="{StaticResource InventoryButton}" /> <!-- Link Button --> <ControlTemplate x:Key="InventoryButton" TargetType="{x:Type Button}"> <Te…
WPF中,我们使用MVVM,在ViewModel中定义Command和其业务逻辑,界面绑定Command. 那么是不是所有的事件都可以定义Command呢,然后将业务全部放在ViewModel中呢? 界面CommandBindings 如果只是交互的处理,可以直接定义RoutedCommand即可 1. 添加Command <RoutedCommand x:Key="SelectAllCommand"/> 2. 添加命令委托处理 <UserControl.Comman…
最近有不少wpf新手问wpf的命令怎么绑定多个控件,很多人为此绞尽脑汁,网上的答案找了也没找到靠谱的,其实用MultiBinding就可以了.从.net 3.0版本开始,就支持MultiBinding 关于MultiBinding的说明: https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.data.multibinding?redirectedfrom=MSDN&view=netframework-4.7.2 从msdn说明中我…
wpf 导出Excel   1 private void Button_Click_1(object sender, RoutedEventArgs e) 2 { 3 4 ExportDataGridSaveAs(true, this.data); 5 } 6 #region wpf客户端 导出DataGrid数据到Excel 7 8 /// <summary> 9 /// CSV格式化 10 /// </summary> 11 /// <param name="d…
1. 绑定到元素对象.(实际项目中用处不大) 界面上两个关联的控件之间绑定,比如一个TextBlock 的FontSize和一个Slider 的Value绑定: <Slider Name="sliderFontText" Minimum="1" Maximum="100" Value="10"/> <TextBox Name="txtValue" Width="200"…
设置双向绑定,首先控件要绑定的对象要先继承一个接口: INotifyPropertyChanged 然后对应被绑定的属性增加代码如下: 意思就是当Age这个属性变化时,要通知监听它变化的人. 即:PropertyChanged(this, new PropertyChangedEventArgs("Age")) ,PropertyChangedEventArgs里面写属性名 添加控件btnAddAge点击事件: private void btnAddAge_Click(object s…
这个问题很简单,但是对于从winfrom转过来的来讲,在做事的时候就会被绕进去,言归正传,如何设置一个bUtton的背景图片?如何去掉让人烦的默认选中时的灰色背景?请看如下的描述.问题的来源和解决都在XAML中! 有这样的一个定义,在XAML中定义一个Button: <Button Margin=" VerticalAlignment="Top" Cursor="Hand" Click="button1_Click" Horizo…
在最近项目要新增一个内容文章,文章包含一般的正文内容,其中正文中可以包含多张图片.文章最多包含一个音频文件.文章正文的上传功能我是通过textarea文本域绑定kindeditor编辑器实现的,而单独音频文件的上传是通过button按钮绑定kindeditor编辑器实现.因为项目主的并发访问量很小,上传之后的图片和音频保存在项目服务器的静态文件中. 1.textarea文本域绑定kindeditor编辑器 JS代码如下: <script type="text/javascript"…
需求描述:Visual Studio 创建的界面程序中又许多 Radio Button,希望这些所有的Radio Button统一绑定到一个变量上,这个变量一旦改变,Radio Button的选中状态会相应的改变. 实现方法:在DoDataExchange函数中: DDX_Radio(pDX, IDC_RADIO1, m_nRadio1);函数 具体方法(以3个Radio Button为例): 1.三个Radio Button,ID分别为:IDC_RADIO1, IDC_RADIO2, IDC_…
原文:WPF 获取 ListView DataTemplate 中控件值 版权声明:本文为博主原创文章,未经博主允许可以随意转载 https://blog.csdn.net/songqingwei1988/article/details/50475191 RT 虽然DataTemplate 是用来绑定的,一般用ONE TWOWAY 来绑定传递或获取数据. 但是今天这个需求真是没办法,在绑定的模板内添加了一个非绑定的数据,需要手动取值. 解决方案原理: https://msdn.microsoft…
将控件绑定到多个数据源,ListBox绑定到一个集合,其中每一项绑定到集合中对象的两个属性,并对绑定进行了格式化. <ListBox ItemsSource="{StaticResource MyData}" IsSynchronizedWithCurrentItem="True"> <ListBox.ItemTemplate> <DataTemplate> <TextBlock> <TextBlock.Text…
WPF button 同时处理两个事件时候会先触发click事件,触发doubleclick事件  ,那如何区分呢,可以这样设置: private static DispatcherTimer myClickWaitTimer =            new DispatcherTimer(                new TimeSpan(0, 0, 0, 1),                DispatcherPriority.Background,               …
原文:WPF的DataTrigger绑定自身属性 <DataTrigger Binding="{Binding RelativeSource={RelativeSource self},Path=IfVertical}" Value="true"> <Setter TargetName="PART_Stack" Property="Orientation" Value="Vertical"…
WPF 支持集合绑定的控件 ListBox ComboBox ListView DataGrid…
ListItem item = new ListItem("--请选择--",""); ddlstPurchaser.Items.Insert(0, item); ddlstPurchaser2.Items.Insert(0, item); 上面这样写就会报错:DropDownList 不能绑定多个值. 正确的写法如下: ListItem item = new ListItem("--请选择--",""); ListItem…
背景 需要对datagrid的列header添加自定义属性,然后绑定,并根据不同的列header绑定不同的值,传统的加扩展类太麻烦,而附加属性的特点更适用于这种场景. 1.xaml 代码 <DataGridTemplateColumn Header="Control" HeaderStyle="{StaticResource controlHeader}" local:ControlView.ControlEnabled="{Binding Valu…
原文:WPF UserControl 的绑定事件.属性.附加属性 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Vblegend_2013/article/details/83477473   WPF UserControl里可供绑定的属性 /// <summary> /// 重写基类 Margin /// </summary> public new Thickness Margin { get { return (Thickne…
原文:封装:WPF中可以绑定的BindPassWord控件 一.目的:本身自带的PassWord不支持绑定 二.Xaml部分 <UserControl x:Class="HeBianGu.General.WpfControlLib.BindPassWordBox" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.micr…
源码下载地址:https://github.com/lizhiqiang0204/ImageGray.git Halcon代码如下: *读取图片,转换成灰度图片 read_image (Image1, 'C:/Users/Public/Documents/MVTec/HALCON-17.12-Progress/examples/images/cable1.png') rgb1_to_gray (Image1, Image) *选择测量的区域 draw_rectangle1 (, Row1, Co…
应用场景 我想把View层的一个布局控件和功能按钮传到ViewModel层,达到动态变更布局,同时灵活获取功能按钮的属性,让View和ViewModel完全分离,而不受View层影响. 最后我想到使用IMultiValueConverter实现多参传入ViewModel层来解决,不知道还有没有更好的办法? 基本原理:要将值转换器与 MultiBinding 关联,请创建一个实现 IMultiValueConverter 接口的类,然后实现 Convert 和 ConvertBack 方法. 集合…
WPF可以使用MultiBinding进行多值绑定,使用IMultiValueConverter进行多值转换 例: (1)转换器 public class ContentConverter : IMultiValueConverter { //源属性传给目标属性时,调用此方法ConvertBack public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { if…
有时候我们不能绑定对象的属性或者成员,我们需要绑定一个对象的方法时 可以用 ObjectDataProvider 比如先声明一个类 含有加法 ObjectDataProvider 的简单使用 以下为综合使用 其中两个textbox绑定 Add方法的两个参数 ,第三个textbox绑定 Add计算出来的值…
场景:视频上传功能,上传列表使用DataGrid控件,视频有不同的状态对应不同的操作,DataGrid中最后一列为操作列,里面是Button控件.希望点击Button后执行对应的操作,但是设置Button的 Command="{Binding VideoOperationCommand}"后触发不了操作. XAML代码如下: <DataGrid ItemsSource="{Binding VideoList}"> <DataGrid.Columns…
在WPF应用的开发过程中Binding是一个非常重要的部分. 在实际开发过程中Binding的不同种写法达到的效果相同但事实是存在很大区别的. 这里将实际中碰到过的问题做下汇总记录和理解. 1. source = {binding} 和source = {binding RelativeSource={RelativeSource self},Path=DataContext}效果相同 理解:{binding} 不设定明确的绑定的source,这样binding就去从本控件类为开始根据可视树的层…
msdn中   ObservableCollection<T> 类    表示一个动态数据集合,在添加项.移除项或刷新整个列表时,此集合将提供通知. 在许多情况下,所使用的数据是对象的集合. 例如,数据绑定中的一个常见方案是使用 ItemsControl(如 ListBox.ListView 或 TreeView)来显示记录的集合. 可以枚举实现 IEnumerable 接口的任何集合. 但是,若要设置动态绑定,以便集合中的插入或删除操作可以自动更新 UI,则该集合必须实现 INotifyCo…
最近用WPF的DataGrid的时候,发现一个很弱智的问题,DataGrid的ItemsSource是绑定了一个属性: 然后取数给这个集合赋值的时候,第一次赋值,就会出现列移位 起初还以为是显卡的问题,结果今天来集成显卡的电脑上也一样出现,具体原因不详,以下是几种解决办法: 1.(首选,有效果)DataGrid的RowHeaderWidth="0",必须赋值为0,不能不赋值,也不能赋其他值. 2.(有效果)绑定的源一开始就要赋值,即至少要有一行数据. 3.(效果不一,有的地方有效有的地…
数据绑定是一种关系,该关系告诉WPF从一个源对象提取一些信息,并使用这些信息设置目标对象的属性,目标属性总是依赖项属性,然而,源对象可以是任何内容. 源对象是WPF元素并且源属性是依赖项属性的数据绑定,这是最简单的数据绑定. 绑定表达式 如下XAML示例,数据绑定表达式使用XAML扩展标记,因为绑定表达式以Binding开头,所以它实际上是创建了一个System.Windows.Data.Binding类实例,且设置了它的两个属性:ElementName属性(指示源元素)和Path属性(指示源元…
说明: msdn中   ObservableCollection<T> 类    表示一个动态数据集合,在添加项.移除项或刷新整个列表时,此集合将提供通知. 在许多情况下,所使用的数据是对象的集合. 例如,数据绑定中的一个常见方案是使用 ItemsControl(如 ListBox.ListView 或 TreeView)来显示记录的集合. 可以枚举实现 IEnumerable 接口的任何集合. 但是,若要设置动态绑定,以便集合中的插入或删除操作可以自动更新 UI,则该集合必须实现 INoti…
原文 http://www.cnblogs.com/SouthAurora/archive/2010/06/30/1768464.html 一.绑定到元素对象 1.元素和元素(XAML.代码) 1.1XAML格式 目标属性="{Binding ElementName=源控件, Path=源属性, Mode=…}" 1.2代码: Binding binding = new Binding();           binding.Source = 源控件;           bindi…
WPF CheckBox 自定义样式 给Button设置ToolTip <Style TargetType="{x:Type Button}" x:Key="DefaultButton"> <Setter Property="Foreground" Value="White"/> <Setter Property="FontFamily" Value="Microso…