Указание внешнего вида настраиваемого окна по умолчанию в WPF?

Я хотел бы создать библиотеку некоторых из моих часто используемых элементов управления WPF, и одним из этих элементов управления является CustomWindow , который наследуется от Окно класс. Как я могу заставить мое CustomWindow использовать внешний вид по умолчанию, который определен в библиотеке с ним?

Я могу заменить

<Window x:Class="..." />

на

<MyControls:CustomWindow x:Class="..." />

, и он работает для поведения окна, но не для видимость.

РЕДАКТИРОВАТЬ

Вот упрощенная версия того, что у меня есть:

Пользовательский элемент управления окном. Находится в библиотеке управления.

public class CustomChromeWindow: Window
{
    static CustomChromeWindow()
    {
        DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomChromeWindow), 
            new FrameworkPropertyMetadata(typeof(CustomChromeWindow)));
    } 
}

Стиль окна. Находится в Generic.xaml, ResourceDictionary в папке Themes тестового окна библиотеки управления

<Style TargetType="local:CustomChromeWindow">
    <Setter Property="WindowStyle" Value="None" />
    <Setter Property="Background" Value="Red" />
</Style>

. Окно запуска отдельного проекта, который ссылается на библиотеку управления

<local:CustomChromeWindow
    x:Class="MyControlsTest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:MyControls;assembly=MyControls"
    Title="MainWindow" Height="350" Width="525"
    >
    <Grid>
        <TextBlock Text="This is a Test" />
    </Grid>
</local:CustomChromeWindow>

В итоге я получаю окно с обычным WindowStyle и черным фоном.

5
задан Dave Clemmer 16 August 2011 в 06:49
поделиться