WPF: стиль основан на другом в отдельной сборке - PullRequest
19 голосов
/ 01 апреля 2009

Сборка A - ResourceDictionary содержит стиль StyleA.
Сборка B - ResourceDictionary.MergedDictionaries для объединения ресурсов из Сборки A в B.

Я хотел бы создать стиль в сборке B "на основе" StyleA. Является ли это возможным?

Я пытаюсь создать этот стиль:

<Style x:Key="StyleB" BasedOn="{StaticResource StyleA}">
   <Setter Property="Button.Foreground" Value="Khaki"/>
</Style>

Но я получаю исключение XamlParseException во время выполнения, если я использую StyleB:

Невозможно преобразовать значение в атрибуте «Стиль» в объект типа «System.Windows.Style». Может основываться только на стиле с целевым типом, который является базовым типом IFrameworkInputElement. Ошибка в объекте 'System.Windows.Controls.Button' в файле разметки 'SamSeekApp; component / mainwindow.xaml'

1 Ответ

40 голосов
/ 01 апреля 2009

Попробуйте добавить TargetType = "{x: Type Button}" к вашему StyleB.

...