Я пытаюсь создать пользовательский элемент управления. Я создал ResourceDictionary файл (Themes \ Generic.xaml) с двумя стилями:Стиль для пользовательского контроля
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit"
xmlns:themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
xmlns:components="clr-namespace:ORPO.WPF.Components">
<Style TargetType="{x:Type components:HeaderFilterDataGrid}" BasedOn="{StaticResource {x:Type DataGrid}}">
...
</Style>
<Style TargetType="{x:Type DataGridColumnHeader}">
...
</Style>
</ResourceDictionary>
и мой пользовательский элемент управления класса:
public class HeaderFilterDataGrid : DataGrid
{
...
static HeaderFilterDataGrid()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(HeaderFilterDataGrid),
new FrameworkPropertyMetadata(typeof(HeaderFilterDataGrid)));
}
...
}
Он отлично работает, когда я применяю первый стиль
DefaultStyleKeyProperty.OverrideMetadata(typeof(HeaderFilterDataGrid),
new FrameworkPropertyMetadata(typeof(HeaderFilterDataGrid)));
Как я могу применить второй стиль для своего пользовательского элемента управления? Мне нужно, чтобы оба стиля были применены одновременно.
Попробуйте поместить стиль DataGridColumnHeader в стиле Style.Resources в стиле HeaderFilterDataGrid. – Clemens
Это работает! Спасибо! – Stopee