我已经创建了一个自定义控件,可以在我的Silverlight应用程序中使用。它的模板在控件库的Generic.xaml中定义。有没有办法从控件的.cs文件中设置该模板中项目的属性?
答案 0 :(得分:3)
如果您使用XAML中定义的元素名称调用GetTemplateChild(string childName)
,例如:
<Border x:Name="MyBorder" Background="Blue" ... />
然后您可以更改项目的属性。您显然必须将返回的DependencyObject
强制转换为正确的类型并检查它是否为空 - 以防万一:
Border myBorder = GetTemplateChild("MyBorder") as Border;
if (myBorder != null)
{
myBorder.Backround = new SolidColorBrush(...);
}
您需要在调用OnApplyTemplate
后调用此方法。