<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=UI_data_binding</id>
	<title>UI data binding - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=UI_data_binding"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=UI_data_binding&amp;action=history"/>
	<updated>2026-05-04T20:02:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=UI_data_binding&amp;diff=7102525&amp;oldid=prev</id>
		<title>imported&gt;Frap: /* .NET */</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=UI_data_binding&amp;diff=7102525&amp;oldid=prev"/>
		<updated>2024-11-28T23:16:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;.NET&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Refimprove|date=February 2015}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;UI data binding&amp;#039;&amp;#039;&amp;#039; is a [[Design pattern (computer science)|software design pattern]] to simplify development of [[GUI]] applications.  UI [[data binding]] binds UI elements to an application [[domain model]]. Most frameworks employ the [[Observer pattern]] as the underlying binding mechanism.  To work efficiently, UI data binding has to address [[Data validation|input validation]] and data type mapping.&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;bound control&amp;#039;&amp;#039; is a [[GUI widget|widget]] whose value is tied or [[data binding|bound]] to a field in a [[recordset]] (e.g., a [[column (database)|column]] in a [[row (database)|row]] of a [[table (database)|table]]).  Changes made to data within the control are automatically saved to the database when the control&amp;#039;s exit [[event trigger]]s.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Username}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
public class ExampleViewModel&lt;br /&gt;
{&lt;br /&gt;
    public string Username { get; set; }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Data binding frameworks and tools ==&lt;br /&gt;
&lt;br /&gt;
=== [[Delphi (programming language)|Delphi]] ===&lt;br /&gt;
* [[DSharp (data binding)|DSharp]] third-party data binding tool{{cn|date=December 2016}}&lt;br /&gt;
* [[OpenWire (library)|OpenWire]] Visual Live Binding - third-party visual data binding tool&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
* [[JFace]] Data Binding&lt;br /&gt;
* [[JavaFX]] Property&amp;lt;ref&amp;gt;{{Cite web | url=https://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm |title = Using JavaFX Properties and Binding &amp;amp;#124; JavaFX 2 Tutorials and Documentation}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== .NET ===&lt;br /&gt;
* [[Windows Forms]] data binding overview&lt;br /&gt;
* [[Windows Presentation Foundation|WPF]] data binding overview&lt;br /&gt;
* [[Avalonia (software framework)|Avalonia]]&lt;br /&gt;
* Unity 3D data binding framework (available in modifications for NGUI, iGUI and EZGUI libraries){{cn|date=December 2016}}&lt;br /&gt;
&lt;br /&gt;
=== JavaScript ===&lt;br /&gt;
* [[Angular_(web_framework)|Angular]]&lt;br /&gt;
* [[AngularJS]]&lt;br /&gt;
* [[Backbone.js]]&lt;br /&gt;
* [[Ember.js]]&lt;br /&gt;
* Datum.js&amp;lt;ref&amp;gt;{{cite web |url=http://datumjs.com|title=Datum.js|access-date=7 November 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[knockout.js]]&lt;br /&gt;
* [[Meteor (web framework)|Meteor]], via its &amp;#039;&amp;#039;Blaze&amp;#039;&amp;#039; live update engine&amp;lt;ref&amp;gt;{{cite web|title=Meteor Blaze|url=https://www.meteor.com/blaze|quote=Meteor Blaze is a powerful library for creating live-updating user interfaces. Blaze fulfills the same purpose as Angular, Backbone, Ember, React, Polymer, or Knockout, but is much easier to use. We built it because we thought that other libraries made user interface programming unnecessarily difficult and confusing.}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[OpenUI5]]&lt;br /&gt;
* [[React (JavaScript library)|React]]&lt;br /&gt;
* [[Vue.js]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Data binding]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Data management]]&lt;br /&gt;
[[Category:Software design patterns]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{compu-prog-stub}}&lt;br /&gt;
{{database-stub}}&lt;/div&gt;</summary>
		<author><name>imported&gt;Frap</name></author>
	</entry>
</feed>