我创建了一个UserControl,其中包含一个名为HighlightedBorderBrush的依赖项属性。 我按如下方式注册了依赖属性:
public static readonly DependencyProperty HighlightedBorderBrushProperty =
DependencyProperty.Register("Highlighted_BorderBrush", typeof(Brush),
typeof(MyUserControl),
new FrameworkPropertyMetadata(Brushes.Black));
public Brush HighlightedBorderBrush
{
get { return (Brush)GetValue(HighlightedBorderBrushProperty); }
set {SetValue(HighlightedBorderBrushProperty, value); }
}
在我使用UserControl的代码中,我可以直接在XAML中设置HighlightedBorderBrush属性,如下所示:
<local:MyUserControl HighlightedBorderBrush="Red" />
这很好用。但是,当我尝试使用样式时,我收到一个错误:“调用目标引发了异常。”
以下是我尝试使用样式的代码:
<!-- Define a style for the user control -->
<Window.Resources>
<Style x:Key="UserControlStyle" TargetType="{x:Type local:MyUserControl}">
<Setter Property="HighlightedBorderBrush" Value="Red"/>
</Style
</Window.Resources>
.
.
.
<!-- Use a Style to set the HighlightedBorderBrush property -->
<local:MyUserControl Style="{StaticResource UserControlStyle}" />
我猜我错过了一些明显但却无法解决的问题。救命啊!
答案 0 :(得分:0)
如前所述,DependencyProperty注册中的属性名称不正确。
DP注册中的媒体资源名称应为HighlightedBorderBrush
,而不是Highlighted_BorderBrush
。