Если вы временно создадите новый ресурс для своего ComboBox и поиграете с ним, вы увидите, что он содержит элемент границы с именем templateRoot
, цвет которого вам нужно установить. Это немного усложняется тем фактом, что вам нужно изменить дочерний элемент управления root для ToggleButton, а его родительский ComboBox также содержит свой собственный именованный элемент управления templateRoot
. Итак, чтобы изменить цвет границы ToggleButton, вам нужно сначала найти его в ComboBox, затем найти элемент templateRoot
Border и установить там цвет. Вам также необходимо убедиться, что вы сделали это после создания шаблона элемента управления, иначе там нечего будет менять, поэтому сделайте это в обработчике Loaded cBoxBasics:
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
this.cBoxBasics.Loaded += (s, e) =>
{
var toggleButton = this.cBoxBasics.Template.FindName("toggleButton", this.cBoxBasics) as ToggleButton;
var border = toggleButton.Template.FindName("templateRoot", toggleButton) as Border;
border.BorderBrush = Brushes.Red;
};
}