Как применить материалDesign: ColorZoneAssist.Mode = "Акцент" в коде позади - PullRequest
0 голосов
/ 26 апреля 2018

Я пытался динамически визуализировать групповой блок в коде в течение нескольких дней, используя MaterialDesign для WPF. С некоторой помощью, которую я получил в другом вопросе StackOverflow, я смог отобразить его, используя стиль дизайна материала со строкой ниже:

childDef.Style = Application.Current.FindResource("MaterialDesignGroupBox") as Style;

То, чего я пытаюсь добиться, - это отобразить его, используя определенный акцентный цвет дизайна приложения, а не основной цвет, который является цветом по умолчанию для ресурса "MaterialDesignGroupBox". В демонстрационном проекте WPF Material Design это то, как они делают это в xaml:

<smtx:XamlDisplay Key="groupbox_4" Grid.Column="0" Grid.Row="1">
    <GroupBox Header="Accent Header" Style="{DynamicResource MaterialDesignGroupBox}" Margin="16" materialDesign:ColorZoneAssist.Mode="Accent">
        <TextBlock>My Content</TextBlock>
    </GroupBox>
</smtx:XamlDisplay>

Итак, что я, по сути, пытаюсь сделать, и я не смог понять, как это до сих пор - как применить materialDesign: ColorZoneAssist.Mode = "Accent" в коде позади. Я благодарю всех заранее.

1 Ответ

0 голосов
/ 26 апреля 2018

Стиль GroupBox по умолчанию (MaterialDesignGroupBox) использует вложенное свойство для управления режимом его внутреннего ColorZone. Вы можете установить вложенные свойства в коде так:

GroupBox groupBox = ...;
MaterialDesignThemes.Wpf.ColorZoneAssist.SetMode(groupBox, ColorZoneMode.Accent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...