首页 > 其他分享 >上位机_WPF系列总结(Binding)

上位机_WPF系列总结(Binding)

时间:2023-08-04 14:24:51浏览次数:27  
标签:DataContext 绑定 Binding 模式 上位 更新 WPF 属性

1、绑定到DataContext,并设置绑定模式,

        <TextBlock
            Width="100"
            Height="50"
            Text="{Binding Eqid, Mode=OneTime}" />

当应用程序启动或数据上下文更改时,更新绑定目标。此绑定类型适用于以下情况:使用当前状态的快照适合使用的或数据状态实际为静态的数据。如果要从源属性初始化具有某个值的目标属性,并且事先不知道数据上下文,则也可以使用此绑定类型。实质上,这是 OneWay 绑定的较简单的形式,它在不更改源值的情况下可提供更好的性能。

2、绑定到DataContext,并设置更新模式

 <TextBlock
            Width="100"
            Height="50"
            Text="{Binding Eqid, UpdateSourceTrigger=PropertyChanged}" />

 

 TextBox中的变化并不是立即传递到源,而是在TextBox失去焦点后,源才更新。这种表现由绑定中的UpdateSourceTrigger属性来控制。一旦绑定的属性值改变,源会立即更新。

3、绑定到DataContext,并设置转换模式

 <DataGridTextColumn
                        Width="*"
                        Binding="{Binding RecordType, Converter={StaticResource BoolToStringConvert}}"
                        Header="出入库" />

4、绑定到Element中指定属性

            <TextBox Text="{Binding ElementName=tb1, Path=Text}" />

 

5、绑定到相对位置中的自身模式

<Window.Resources>
        <Style x:Key="TestStyle" TargetType="TextBox">
            <Style.Triggers>
                <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=Self},Path=Text}" Value="测试">
                    <Setter Property="Background" Value="Red"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
</Window.Resources>

 

6、绑定到相对位置中的父级别查找模式

 

                                        <b:Interaction.Triggers>
                                            <b:EventTrigger EventName="MouseUp">
                                                <b:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:RecordView}, Path=DataContext.EditRecordCommand}" CommandParameter="{Binding}" />
                                            </b:EventTrigger>
                                        </b:Interaction.Triggers>

 

标签:DataContext,绑定,Binding,模式,上位,更新,WPF,属性
From: https://www.cnblogs.com/appform/p/17605617.html

相关文章

  • 上位机_WPF系列总结(触发器)
    当达到了出发的条件,执行设定的响应,可以是样式、数据变化、动画等。触发器的类型有:Trigger:检测依赖属性的变化,触发器生效<Window.Resources><Stylex:Key="TestStyle"TargetType="Button"><Style.Triggers><TriggerProperty="IsMou......
  • WPF消息提示
    WPF消息提示使用.net6.0使用的NuGet包MaterialDesignThemes:4.9.0Prism.DryIoc:8.1.97我们要做一个类似ElementPlus或者AntDesign的Message,作为消息提示这样的交互比较友好,老是用MessageBox也挺难受,先不管动画效果吧分析这种消息提示在应用程序中是个有点怪的东西,因为一个......
  • 工控 上位机 WPF 跑马灯的实现
    工控上位机WPF跑马灯的实现 工业控制软件中,跑马灯是主界面比不可少的组件。本文基于WPF技术,讲解如何实现高效的跑马灯组件。 跑马灯的效果如下图: 在讲解如何实现之前,我们先看一下,跑马灯组件在主界面上是如何使用的,请看如下代码:<BorderGrid.Row=......
  • WPF svg转path(快速生成Path代码的方法)
    在使用WPF的Path作图时,我们可能会拿到美工出的一些比较复杂的图,今天查阅网上发现svg是可以自动转path的,特作记录。github:https://github.com/BerndK/SvgToXaml    设置途中项目为启动项目,然后点击svg图片 你是不是以为复制上面的M0,0一直到Z就OK了!那,我就不会写这篇......
  • WPF动态绑定隐藏或显示DataGrid一列
     因为datagridtemplatecolumn不在VirsualTree中,不能继承DataGrid的DataContext,所以想要绑定到datagridtemplatecolumn的visibility,需要添加一个代理 一、添加一個FrameworkElement的代理<Window.Resources><FrameworkElementx:Key="ProxyElement"DataContext......
  • JAXB2(Java Architecture for XML Binding)
    JAXB2(JavaArchitectureforXMLBinding)是Java平台上的一个标准API,用于将XML数据和Java对象之间进行相互转换,即实现XML和Java对象之间的数据绑定。解释如下:XML是一种标记语言,常用于在不同系统之间传递数据。XML数据由标签和属性组成,具有良好的可读性和可扩展性......
  • WPF使用FluentValidation进行表单验证
    WPF使用FluentValidation进行表单验证.net版本:6.0使用的NuGet包FluentValidation:11.6.0MaterialDesignThemes:4.9.0Prism.DryIoc:8.1.97在WPF里验证表单使用的是INotifyDataErrorInfo接口,这个接口长这样publicinterfaceINotifyDataErrorInfo{boolHasErrors{get;......
  • C#+WPF上位机开发(模块化+反应式)
    在上位机开发领域中,C#与C++两种语言是应用最多的两种开发语言,在C++语言中,与之搭配的前端框架通常以QT最为常用,而C#语言中,与之搭配的前端框架是Winform和WPF两种框架。今天我们主要讨论一下C#和WPF这一对组合在上位机开发过程中的实际应用。一、模块化概念开发一套完善的软件,离不开......
  • udp接收上位机编程(2)彩色图像
    由于QT上位机只能接收BGR565的图像格式,且只能显示灰度或者RGB888,所以PL2PS的数据必须要变换位置,并使用cvtColor函数进行转换1voidMainWindow::recieve_dis(intudp_index)2{3Matrecv_img_2(img_h_size,img_w_size,CV_8UC2);4Matrecv_img_3(img_h_size,img_......
  • 2023-8-1 WPF的ItemsControl容器(DataGrid,ListBox,ListView等)可以实现的隔行样式修改
    实现的隔行样式修改【作者】长生微软官方文档详细介绍实现方式如果需要让你的wpf表格或者间隔样式实现下列效果可以使用AlternationCount首先添加一个DataGrid,并使用AlternatingRowBackground设置奇数行的背景色为紫色<DataGridAlternatingRowBackground="Purple"></Data......