я использую контроль DecimalUpDown из Расширенного WPF Toolkit в моем приложении WPF ModernUI:Как перезаписать стиль
<xctk:DecimalUpDown Value="{Binding myProperty}" Increment="1" Maximum="10" Minimum="0" />
Что мне ошибок заключается в следующем: Если выбран цвет акцент, для например, красные, затем стандартные ModernUI-Controls, такие как текстовые поля адаптировать этот цвет красиво:
DecimalU Однако управление pDown придерживается своего стиля. Например, элемент управления синим, когда он активен и RepeatButtons, используемый в управлении не похож на кнопки ModernUI:
Даже хуже: все TextBoxes в View, где размещаются управление DecimalUpDown в настоящее время демонстрируют этот стиль и выделены синим цветом, а не красным:
Как я могу изменить это?
EDIT: это сгенерированный ControlTemplate, когда я следую за хороший совет Бен:
<ControlTemplate x:Key="ControlControlTemplate1" TargetType="{x:Type Control}">
<xctk:ButtonSpinner x:Name="PART_Spinner" AllowSpin="{Binding AllowSpin, RelativeSource={RelativeSource TemplatedParent}}"
...>
<xctk:WatermarkTextBox x:Name="PART_TextBox" AutoMoveFocus="{Binding AutoMoveFocus, RelativeSource={RelativeSource TemplatedParent}}"
AutoSelectBehavior="{Binding AutoSelectBehavior, RelativeSource={RelativeSource TemplatedParent}}"
AcceptsReturn="False"
.../>
</xctk:ButtonSpinner>
<ControlTemplate.Triggers>
...
</ControlTemplate.Triggers>
</ControlTemplate>
Это то можно стилизовать WatermarkTextBox и ButtonSpinner:
То, что я не имею до сих пор: есть ли способ доступа к кнопкам RepeatButtons внутри ButtonSpinner, чтобы я мог также установить их стили?
Это здорово, я не знал об опции «Редактировать шаблон». В этом случае, поскольку сам элемент управления состоит из нескольких элементов управления [текстовое поле, две кнопки повтора], я не могу получить доступ к «дочерним» -контролям. Тем не менее, очень приятно! – peter
Бен, есть ли способ получить доступ к элементам управления для детей из шаблона? Я добавил шаблон в свой вопрос. Я могу успешно стилизовать «внешний» элемент (границу и т. Д.), Но, например, RepeatButtons внутри элемента управления, я не могу получить доступ. – peter
Возможно, вы можете попробовать добавить ButtonSpinner в качестве отдельного элемента и выполнить шаг «Редактировать копию». Затем создайте пользовательский стиль для всех кнопок ButtonSpinners или именованных, которые будут использоваться в вашем элементе управления DecimalUpDown. – Ben