Имея всю информацию о стилях элементов управления, а также информацию о вложенных элементах управления, шаблонах и триггерах, я пытаюсь выяснить следующее.
Взять элемент управления в выпадающем списке.он имеет шаблон управления для компонента кнопки переключения, который показывает нормальное отображение на стандартном дисплее (не в раскрывающемся режиме), который показывает значение дисплея и кнопку переключения для активации раскрывающегося списка.
<ControlTemplate TargetType="ToggleButton" x:Key="baseComboBoxToggleButton" >
<!-- overall border covering left side display value and the actual toggle button -->
<Border x:Name="Border" Grid.ColumnSpan="2" />
<!-- area in left side (column=0) that shows the DISPLAY value -->
<Border x:Name="ShowDisplayValueArea" Grid.Column="0" />
<!-- second column using a path to draw the glyph down arrow -->
<Path Grid.Column="1" />
<Triggers for the toggle button ... />
</ControlTemplate>
Затем, у вас есть основной элемент управления со списком, который использует шаблон кнопки переключения выше
<ControlTemplate TargetType="ComboBox" x:Key="ComboBoxGridControlTemplate" >
<Grid>
<ToggleButton Name="ToggleButton"
Template="{StaticResource baseComboBoxToggleButton}"
... />
</Grid>
</ControlTemplate>
Итак, я пытаюсь КРАЙНЕ изменить цвет фона «ShowDisplayValueArea» на основе результатов конвертера MultiBinding,Если я помещаю мультисвязывающий преобразователь в область шаблона элемента управления toggleButton, например ..
<MultiBinding Converter="{StaticResource myMultiParmConverter}">
<Binding Path="." RelativeSource="{RelativeSource Self}" />
</MultiBinding>
Первое «значение» в массиве объекта значений правильно передает экземпляр шаблона элемента управления с помощью кнопки-переключателя.Вся ссылка на объект, а не только имя.
public object Convert(object[] values,
Type targetType,
object parameter,
CultureInfo culture)
Итак, как я скажу параметру Binding передать фактический Combobox, из которого получена кнопка переключения (т. Е. Родительский элемент для кнопки переключения), поэтому яполучить фактический полный контроль над списком, переданный в качестве параметра.