Проблема с пользовательским контролем Wpf

У меня странная проблема с пользовательским элементом управления WPF, который я сделал. Когда я перетаскиваю пользовательский элемент управления WPF из панели инструментов на поверхность дизайна, я вижу только одну границу без каких-либо элементов управления... У меня есть другой такой же проект пользовательского элемента управления WPF с таким же пользовательским элементом управления и тем же кодом, и когда я ссылаюсь на этот проект, все работает нормально .

У меня есть шаблон в папке темы, который называется DatePicker.Generic.Xaml, и я определил

<Style x:Key="{x:Type DateControls:DatePicker}" 
       TargetType="{x:Type DateControls:DatePicker}">

где DateControls — это пространство имен xml моего пользовательского элемента управления DatePicker. я также добавил

[assembly: ThemeInfo(
    ResourceDictionaryLocation.SourceAssembly,
    ResourceDictionaryLocation.SourceAssembly)] 

в файле информации о сборке. Кто-нибудь может помочь? Спасибо


person Radenko Zec    schedule 07.01.2010    source источник


Ответы (2)


Убедитесь, что в коде вашего элемента управления есть статический конструктор, который вызывает DefaultStyleKeyProperty.OverrideMetadata с соответствующими аргументами типа (он создается автоматически, если вы добавляете новый настраиваемый элемент управления в VS).

person John Bowen    schedule 20.01.2010

Вы можете посмотреть расширение разметки ComponentResourceKey. . Посмотрите на аргументы TypeInTargetAssembly и ResourceId (из componentresourcekey), когда вы устанавливаете элемент Style.

person RandomNickName42    schedule 07.01.2010
comment
Я смотрю и вроде все в порядке. Я несколько раз определял TypeInTargetAssembly={x:Type DateControls:DatePicker},ResourceId=DropDownButtonStyleKey с разными ResourceId и DateControls - это хорошее пространство имен... - person Radenko Zec; 07.01.2010