3
我正在嘗試創建自定義的用戶控件。我創建資源字典文件(主題\ 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'樣式放入'HeaderFilterDataGrid'樣式的'Style.Resources'中。 – Clemens
它的工作原理!謝謝! – Stopee