ここに示すように、ListBoxItem から拡張するカスタム コントロールを作成しようとしています。
public class MainNavListBoxItem : ListBoxItem
{
public MainNavListBoxItem()
{
this.DefaultStyleKey = typeof(MainNavListBoxItem);
}
}
次のように ResourceDictionary で定義されているスタイルがあります。
<Style TargetType="assets:MainNavListBoxItem">
<Setter Property="Padding" Value="3"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="TabNavigation" Value="Local"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="assets:MainNavListBoxItem">
<Grid Height="50">
<VisualStateManager.VisualStateGroups>
...
MainNavListBoxItem
このようにコンパイルして正常に実行されるようになりましたが、クラスに追加の依存関係プロパティを追加するとすぐに、次のようなエラーが発生し始めます。
テキスト 'パディング' から 'System.Windows.DependencyProperty' を作成できませんでした。
スタイル内で Setter タグを再配置すると、常に一番上のタグがレポートされます。
参照用の依存関係プロパティ コード:
public ImageSource ImageDark
{
get { return (ImageSource)GetValue(ImageDarkProperty); }
set { SetValue(ImageDarkProperty, value); }
}
public static readonly DependencyProperty ImageDarkProperty =
DependencyProperty.Register("ImageDark", typeof(ImageSource), typeof(MainNavListBoxItem), new PropertyMetadata(0));
ここで何が起こっているのですか?! この ImageDark 依存プロパティをスタイル内から使えるようにしたい!
このエラーについて多くの検索を行いましたが、この問題に関連するものはないようです。