<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
xmlns:System_Windows_Controls_Primitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Toolkit"
x:Class="SilverlightApplication5.MainPage"
Width="640" Height="480">
<StackPanel x:Name="LayoutRoot" Background="White">
<TextBox x:Name="tbWidth" TextWrapping="Wrap"
Text="{Binding Mode=TwoWay, ValidatesOnExceptions=True, Path=RoomWidth}"/>
</StackPanel>
</UserControl>
RoomWidth - is property.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace SilverlightApplication5
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
}
private int roomWidth = 10;
public int RoomWidth
{
get { return roomWidth; }
set
{
if (value < 0 || value > 100)
{
throw new Exception("Data not correct");
}
roomWidth = value;
}
}
}
}
I need add to Binding source this class. How do this?
Use the ElementName
for example:
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit" xmlns:System_Windows_Controls_Primitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Toolkit"
x:Class="SilverlightApplication5.MainPage"
Width="640" Height="480"
Name="control">
<!-- ... -->
<TextBox Text="{Binding ElementName=control, Mode=TwoWay, ValidatesOnExceptions=True, Path=RoomWidth}" x:Name="tbWidth" TextWrapping="Wrap"/>
If you have problems with basic bindings like that you sould read up on it. (WPF/Silverlight)
DataContext = this;
Put this inside of your constructor.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With