访问Silverlight控件后面的代码中的模板项

时间:2009-12-17 21:44:11

标签: silverlight templates custom-controls

我已经创建了一个自定义控件,可以在我的Silverlight应用程序中使用。它的模板在控件库的Generic.xaml中定义。有没有办法从控件的.cs文件中设置该模板中项目的属性?

1 个答案:

答案 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后调用此方法。