public class Test111{
DependencyProperty.Register(
"Text", typeof(String),
typeof(TextInputField), new FrameworkPropertyMetadata(null, new PropertyChangedCallback(OnTextChanged))
);
protected static void OnTextChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
{
Test111 usb = o as Test111;
usb.OnTextChanged(e.NewValue as string);
}
public string Text
{
get
{
return (string)GetValue(TextProperty);
}
set
{
SetValue(TextProperty, value);
}
}
protected void OnTextChanged(string value)
{
this.textBox1.Text = value;
}
}
<UserControl x:Class="CompanyInternalCommunicatorUI.Views.TextInputField"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:v="clr-namespace:CompanyInternalCommunicatorUI.Views"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Template>
<ControlTemplate>
<Grid>
<Label HorizontalAlignment="Left" Name="label1" Content="{TemplateBinding v:TextInputField.LabelText}" VerticalAlignment="Top" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="0,29,0,0" Name="textBox1" Text="{TemplateBinding v:TextInputField.Text}" VerticalAlignment="Top" Width="120" >
</TextBox>
<Grid Visibility="Collapsed">
<Label x:Name="hv_emailAddress" Content="view_userUpdateFormWindow_label_emailAddress" />
</Grid>
</Grid>
</ControlTemplate>
</UserControl.Template>
</UserControl>