шаблон The CustomDialog в вычислил его Foreground титул на цвет, который контрастирует с фоном и устанавливает FontSize до 26.6667:
<StackPanel Margin="13,19,13,25" HorizontalAlignment="Center" Width="{TemplateBinding Width}" MaxWidth="680">
<local:DynamicTextBlock Foreground="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Background, Converter={StaticResource ColorContrast}}" x:Name="PART_Title" Text="{TemplateBinding Title}" FontFamily="Segoe UI" FontSize="26.6667" FontWeight="Light" Margin="0,0,0,8" />
<ContentPresenter Margin="0" x:Name="PART_Content" Foreground="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Background, Converter={StaticResource ColorContrast}}" />
</StackPanel>
Если вы хотите изменить эти вы будете нуждаться перепрограммировать диалог. Вы можете скопировать шаблон с Callisto's generic.xaml и затем заменить свойства Foreground и FontSize. Вы можете использовать TemplateBinding, так что вы можете установить их на CustomDialog, когда вы называете его:
<StackPanel Margin="9,5" HorizontalAlignment="Center" Width="{TemplateBinding Width}" MaxWidth="680">
<callisto:DynamicTextBlock Foreground="{TemplateBinding Foreground}" x:Name="PART_Title" Text="{TemplateBinding Title}" FontFamily="Segoe UI" FontSize="{TemplateBinding FontSize}" FontWeight="Light" Margin="0,0,0,8" />
<ContentPresenter Margin="0" x:Name="PART_Content" Foreground="{TemplateBinding Foreground}" />
</StackPanel>
Затем установите их на свои собственные ресурсы:
<callisto:CustomDialog Background="{ThemeResource MyCustomDialogBackground}" Foreground="{ThemeResource MyCustomDialogForeground}" Title="Lorem ipsum" Template="{StaticResource CustomDialogControlTemplate1}"></callisto:CustomDialog>
Спасибо! Это похоже на направление, в котором я хочу возглавить. У вас возникли проблемы при копировании стиля с любой ссылкой на «ThemeResource» в шаблоне? Я не уверен, как заставить их работать. Вам нужно было скопировать все настройки «ThemeResource» в ваш стиль? Пример: <Свойство Setter = "BorderThickness" Value = "{ThemeResource CustomDialogBorderThemeThickness}" /> – floydbear
Это действительно сработало. Мне просто пришлось скопировать некоторые из ThemeResources и установить правильную директиву для одного конвертера. Отлично! Большое спасибо за Вашу помощь. – floydbear