您的位置:首页 > 其它

SL - 整理 - 定义Dependency属性(使自定义组件属性能被绑定)

2013-12-11 16:10 423 查看
public class Test111{
public static readonly DependencyProperty TextProperty =
               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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: