Resources are objects referred in WPF XAML. In C# code when we create an object we do the
following three steps :-
using CustomerNameSpace; // import the namespace. Customer obj = new Customer(); // Create object of the class Textbox1.text = obj.CustomerCode; // Bind the object with UI elements
So even in WPF XAML to define resources which are nothing but objects we need to the above
3 steps :-
- Import namespace where the class resides: – To define namespace we need to use the “xmlns” attribute as shown in the below XAML code.
<Window x:Class="LearnWpfResources.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:custns="clr-namespace:LearnWpfResources" Title="MainWindow" Height="350" Width="525">
- Create object of the class :- To create an object of the class in XAML we need to create a
resource by using the resource tag as the below code. You can the object name is
‘custobj”.
<Window.Resources> <custns:Customer x:Key="custobj"/> </Window.Resources>
The above code you can map to something like this in C#
Customer custobj = new Customer();
- Bind the object with UI objects :- Once the object is created we can then bind them using
bindings like one way , two way.
<TextBox Text="{Binding CustomerCode, Mode=TwoWay, Source={StaticResource custobj}}" />