Изменить DefaultStyle элемента размещения из дочернего содержимого во время выполнения - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть приложение Win32, в котором размещается HostSource для отображения WPF ContentControl.ContentControl получает мой UserControl как контент и отображает его в приложении Win32.ContentControl выглядит следующим образом

public class CustomContentControlWPF : ContentControl
{
    public static CustomContentControlWPF()
    { 
         FrameworkElement.DefaultStyleKeyProperty.
         OverrideMetadata(typeof(CustomContentControlWPF),
         new FrameworkPropertyMetadata(typeof(CustomContentControlWPF)));
    }
}

Проблема в том, что мне не нравится стиль, который будет применяться при этом.Я не могу изменить код сборки, где определяется CustomContentControlWPF.Можно ли изменить стиль для CustomContentControlWPF из размещенного дочернего UserControl во время выполнения?

Я пробовал что-то вроде этого:

public MyUserControl : UserControl
{
    public void changeStyle()
    {
        FrameworkElement.DefaultStyleKeyProperty.
         OverrideMetadata(typeof(CustomContentControlWPF),
         new FrameworkPropertyMetadata(typeof(UserControl)));
    }
}

, но это не удается, потому что стиль для типа CustomContentControlWPFуже отменено.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...