WPF Interaction

2024-03-10 15:36
文章标签 wpf interaction

本文主要是介绍WPF Interaction,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用 Interaction 里面的方法来将事件映射到ViewModel层

引用命名空间:System.Windows.Interactivity.dll

在xaml界面引用这两种任意一个就行,这两个做的事情是相同的。

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

<Window x:Class="WpfApplication1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"Title="MainWindow" Height="350" Width="525"><!--xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"--><!--页面加载命令--><i:Interaction.Triggers><i:EventTrigger EventName="Loaded"><i:InvokeCommandAction Command="{Binding Page_Loaded}" /></i:EventTrigger></i:Interaction.Triggers><i:Interaction.Behaviors><c:WindowBehavior Close="{Binding ToClose}" /></i:Interaction.Behaviors><Grid><ComboBox x:Name="cb_kaname" IsReadOnly="False" BorderThickness="1"  BorderBrush="#999999" ItemsSource="{Binding lst_KaLei, Mode=TwoWay}" SelectedItem="{Binding Sel_Kalei, Mode=TwoWay}" Text="{Binding new_ka_name, Mode=TwoWay}" DisplayMemberPath="ka_name" Width="Auto" MinWidth="80" MaxWidth="200" IsEditable="True"><i:Interaction.Triggers><i:EventTrigger EventName="SelectionChanged"><i:InvokeCommandAction Command="{Binding cb_kaname_SelectionChanged}" CommandParameter="{Binding ElementName=cb_kaname}" /></i:EventTrigger></i:Interaction.Triggers></ComboBox><TextBox Name="tb_dazhebilvamount" Background="Transparent" Style="{StaticResource input_textbox}" MaxLength="3" HorizontalContentAlignment="Center" Text="{Binding new_faka_dazhebilv, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"><intr:Interaction.Triggers><intr:EventTrigger EventName="TextChanged">    <intr:InvokeCommandAction Command="{Binding txt_TextChanged,TargetNullValue='has error'}" CommandParameter="tb_dazhebilvamount" ></intr:InvokeCommandAction></intr:EventTrigger><intr:EventTrigger EventName="GotFocus"><intr:InvokeCommandAction Command="{Binding txt_GotFocus}"></intr:InvokeCommandAction></intr:EventTrigger><intr:EventTrigger EventName="LostFocus"><intr:InvokeCommandAction Command="{Binding txt_LostFocus}"></intr:InvokeCommandAction></intr:EventTrigger></intr:Interaction.Triggers></TextBox>      <Button x:Name="btnLogin" Content="登  录" Width="100" FontSize="20" Margin="10" Style="{StaticResource btnOK}"><i:Interaction.Triggers><i:EventTrigger EventName="Click"><i:InvokeCommandAction Command="{Binding btnLogin}"/></i:EventTrigger></i:Interaction.Triggers></Button>  </Grid>
</Window>

个人记录,介绍并不完善,只有几个使用案例,仅供参考。

这篇关于WPF Interaction的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794697

相关文章

WPF入门到跪下 第十三章 3D绘图 - 3D绘图基础

3D绘图基础 四大要点 WPF中的3D绘图涉及4个要点: 视口,用来驻留3D内容3D对象照亮部分或整个3D场景的光源摄像机,提供在3D场景中进行观察的视点 一、视口 要展示3D内容,首先需要一个容器来装载3D内容。在WPF中,这个容器就是Viewport3D(3D视口),它继承自FrameworkElement,因此可以像其他元素那样在XAML中使用。 Viewport3D与其他元素相

C# WPF燃气报警器记录读取串口工具

C# WPF燃气报警器记录读取串口工具 概要串口帧数据布局文件代码文件运行效果源码下载 概要 符合国标文件《GB+15322.2-2019.pdf》串口通信协议定义;可读取燃气报警器家用版设备历史记录信息等信息; 串口帧数据 串口通信如何确定一帧数据接收完成是个麻烦事,本文采用最后一次数据接收完成后再过多少毫秒认为一帧数据接收完成,开始解析出来。每次接收到数据更新一次re

WPF-快速构建统计表、图表并认识相关框架

一、使用ScottPlot.Wpf 官网地址:https://scottplot.net/quickstart/wpf/ 1、添加NuGet包:ScottPlot.Wpf 2、XAML映射命名空间:  xmlns:ScottPlot="clr-namespace:ScottPlot.WPF;assembly=ScottPlot.WPF" 3、简单示例: <ScottPlot:WpfP

C# wpf 实现游戏启动器界面制作的坑

用C# winform制作界面的时候发现背景图是带透明通道的会实现不了,于是用了个单独的类来实现底层背景图带透明 窗口原图: 。。。可是后面发现在鼠标悬浮Windows任务栏中此窗口预览图的时候只会渲染出控件了,没有了背景图。。。 网上找了很久没有找到好的解决办法,于是弃用了winform改用了wpf做游戏启动器的界面。  wpf的界面布局文件类似xml文档,实现背景透明的话不复杂

WPF 点在控件内 判断

文章来源于本人的cnblog克隆https://www.cnblogs.com/ZoeWong/p/18396165 Winform方法 Winform里点在控件内判断方法很简单,获取的Rectangle,然后用它Contains方法就行 WPF方法 WPF不行,但其实也差不多,方法如下: 前提:控件A是总体容器控件,控件B是其子控件,判断鼠标点是否在B内获取鼠标当前位置 Point

不可不知的WPF形状(Shape)

在WPF开发中经常需要进行绘制图形,可以利用Shape类型绘制基本的形状,而且Shape派生自FrameworkElement,属于UI元素范畴,可以直接利用XAML进行绘制。本文通过一些简单的小例子,简述如何通过Shape类绘制形状,仅供学习分享使用,如有不足之处,还请指正。 Shape类位于System.Windows.Shapes命名空间,而上篇文章介绍的Brush位于System.W

WPF RadioButton 使用MVVM方式绑定bool的值,总是丢失怎么办

在WPF中使用MVVM模式绑定RadioButton时,如果绑定一个bool类型的值,可能会遇到值丢失的问题。这通常是因为RadioButton的IsChecked属性与bool类型绑定存在直接转换的困难,尤其是在绑定到多个RadioButton时,RadioButton之间的关系也会导致值更新不一致。 为了在MVVM中正确地使用RadioButton绑定一个bool类型的值,我们可以使用Con

WPF中datagrid分页

namespace WpfApplication1{/// <summary>/// 枚举类型/// </summary>public enum sex{男,女};public class company{public string companyname;public string name;public string sex;public int age;public string job;

基于.NET6的WPF基础总结(上)

目录 一.常用属性介绍 二、 程序退出方式 三、布局样式 3.1 Panel的附加属性ZIndex 3.2 Grid(网格)布局 3.3 UniformGrid(均分布局) 3.4 StackPanel(堆积面板) 3.5 WrapPanel(换行面板)  3.6  DockPanel(停靠面板) 3.7 Canvas(画布布局)  3.8 个性化Border 3.9  G

WPF——自定义RadioButton

需求 需要做一组单选按钮,只要单选按钮的显示内容与需要匹配的内容一样,则该单选按钮就为选中状态,否则则为不选中状态;且需要将当前选中状态保存,后续再进入此页面时,匹配内容为此次的保存状态。 如下所示,3个单选按钮分别为Test1、Test2、Test3,需要匹配的内容为Test2。那么Test2就为选中状态,其它两个就为非选中状态。 深入分析 通过对需求的了解,可得出下述进一步需求