【发布时间】:2011-09-17 12:58:51
【问题描述】:
您能告诉我创建自定义 silverlight 控件的正确方法是什么吗?我想制作一个由其他三个控件组成的控件:文本块、自动完成框和图像。文本块将充当自动完成框的标签,图像将提供额外的工具提示。我的问题是:我应该继承什么类型的类?如何公开内部控件的属性和事件?我发现我可以通过在容器类中创建额外的依赖属性并使用如下回调函数来设置子控件的值:
public static readonly DependencyProperty TextProperty = DependencyProperty.Register(
"Text",
typeof(string),
typeof(MyCustomControl),
new PropertyMetadata(
default(string),
(source, args) => (source as MyCustomControl).TxtValue.Text = (string)args.NewValue
)
);
但是,此方法仅在子控件中的属性声明为依赖属性时才有效。但是例如在自动完成框中有一个名为 ValueMemberBinding 的属性,它不是依赖属性,我找不到如何从 MyCustomControl 公开它的方法。
【问题讨论】:
标签: silverlight