In this article we will be seeing how to create a Custom Silverlight UserControl and Binding the Property. We will use a dependency Property in this example. Created a Project as SamplePro.Added an a new User Control as MyNewControl.Dependency Property: Now let's add a dependency property. To know more about DP, check out this site:http://msdn.microsoft.com/en-us/library/cc221408(v=vs.95).aspxMy dependency property code looks as follows:
// Dependency Property - Begin public const string DisplayTextPropertyName = "DisplayText"; public string DisplayText { get { return (string)GetValue(DisplayTextProperty); } set { SetValue(DisplayTextProperty, value); } } public static readonly DependencyProperty DisplayTextProperty = DependencyProperty.Register(DisplayTextPropertyName,typeof(string), typeof(MyNewControl),new PropertyMetadata(String.Empty));// Dependency Property - EndThe UserControl MyNewControl looks as below:public partial class MyNewControl : UserControl {// Dependency Property - Begin public const string DisplayTextPropertyName = "DisplayText"; public string DisplayText { get { return (string)GetValue(DisplayTextProperty); } set { SetValue(DisplayTextProperty, value); } } public static readonly DependencyProperty DisplayTextProperty = DependencyProperty.Register(DisplayTextPropertyName,typeof(string), typeof(MyNewControl),new PropertyMetadata(String.Empty));// Dependency Property - End public MyNewControl() { InitializeComponent(); btn.SetBinding(Button.ContentProperty, new Binding() { Source = this, Path = new PropertyPath("DisplayText"), Mode = BindingMode.TwoWay }); } }
MyNewControl is ready for use as shown below:<UserControl x:Class="SamplePro.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" xmlns:local="clr-namespace:SamplePro" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400"> <Grid x:Name="LayoutRoot" Background="White"> <local:MyNewControl Width="300" Height="300" Foreground="Black" x:Name="newcontrol" DisplayText="Hit Me Now !!!"> </local:MyNewControl> </Grid></UserControl>Let's give it a run:Great. Happy Coding !!
You need to be a premium member to use this feature. To access it, you'll have to upgrade your membership.
Become a sharper developer and jumpstart your career.
$0
$
. 00
monthly
For Basic members:
$20
For Premium members:
$45
For Elite members: