
 January 9, 2019 11:35 by 
 Peter
 PeterData binding is one of the coolest gimmicks that have ever existed in Silverlight.  Binding a UI Element's property with a property in the code behind, has  the ability to do any sort of trap. It's wizardry, basically. Once the  properties are bound, we have to continue telling the UI if the  property's estimation has been adjusted in the code.  INotifyPropertyChanged is helpful for this. 

You  see, since it is an interface, we have to first actualize it. The  procedure is not exceptionally extreme however. In the new Silverlight  project, here is the code of my main page:
 publicpartialclassMainPage : UserControl
 {
     privatestring _names; 
     publicstring Names
     {
         get
         {
            return _names;
         }
         set
         {
             _names = value;
         }
    } 
     public MainPage()
     {
         InitializeComponent();
     } 
     privatevoid MainPage_OnLoaded(object sender, RoutedEventArgs e)
     {
         Names = "This is the Text";
     }
 }
 
 The property "Name" I have here is bound with the textblock in XAML. Now write the following code:
 <UserControlx:Class="PropertyChangedDescribed.MainPage"
  xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
  xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
  xmlns:d=http://schemas.microsoft.com/expression/blend/2008
  xmlns:mc=http://schemas.openxmlformats.org/markup-compatibility/2006
   mc:Ignorable="d"
  Loaded="MainPage_OnLoaded"
  x:Name="TestingPropertyChanged"
  d:DesignHeight="300"d:DesignWidth="400">
  <Gridx:Name="LayoutRoot"Background="White">
   <TextBlockText="{Binding Names, ElementName=TestingPropertyChanged}"/>
   </Grid>
 </UserControl>
 
As  should be obvious, the textblock has its "text" property bound with our  code behind's property "Name". At this moment, regardless of what you  set the estimation of "Name", it will never be reflected onto the UI.  Thus, what we need is, each time we change the estimation of our  property "Name," the content piece has its esteem changed as well. To do  this, we have to actualize the interface INotifyPropertyChanged. Here  is the changed primary page's code to do as such:
 publicpartialclassMainPage : UserControl, INotifyPropertyChanged
 {
     privatestring _names;
      publicstring Names
     {
         get
         {
             return _names;
         }
         set
         {
             _names = value;
             OnPropertyChanged("Names");
         }
     } 
     public MainPage()
     {
         InitializeComponent();
     } 
     privatevoid MainPage_OnLoaded(object sender, RoutedEventArgs e)
     {
         Names = "This is the Text";
     } 
     publicevent PropertyChangedEventHandler PropertyChanged;
      privatevoid OnPropertyChanged(string propertyName)
     {
         if (this.PropertyChanged != null)
         {
             PropertyChanged(this,new PropertyChangedEventArgs(propertyName));
         }
     }
 }
HostForLIFE.eu Silverlight 6 Hosting
HostForLIFE.eu   is European Windows Hosting Provider which focuses on Windows Platform   only. We deliver on-demand hosting solutions including Shared hosting,   Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a  Service  for companies of all sizes. We have customers from around the  globe,  spread across every continent. We serve the hosting needs of the   business and professional, government and nonprofit, entertainment and   personal use market segments.
