Svetlana Shreder
Svetlana Shreder

Reputation: 11

Set border color of editable ComboBox with focus on PART_EditableTextBox

I need to change default style of ComboBox so that if PART_EditableTextBox.IsMouseOver = true, border color is the same as toggleButton.IsMouseOver = true.

Referring to Set border color of editable ComboBox on focus I can just do:

<ControlTemplate TargetType="{x:Type ComboBox}">
     <Grid x:Name="templateRoot" >
         <ToggleButton x:Name="toggleButton"  />
         <Border x:Name="border" >
             <TextBox x:Name="PART_EditableTextBox"  />                                
         </Border>
     </Grid>
     <ControlTemplate.Triggers>
          <Trigger SourceName="PART_EditableTextBox" Property="IsMouseOver" Value="True">
                <Setter Property="BorderBrush" Value="{StaticResource ComboBox.MouseOver.Editable.Border}" TargetName="toggleButton"></Setter>
          </Trigger>
     </ControlTemplate.Triggers></ControlTemplate>

But in fact nothing happens. Could it be because that I need somehow refer not to toggleButton BorderBrush but to borders that toggleButton contains?

 <ControlTemplate TargetType="{x:Type ToggleButton}">
                    <Border x:Name="templateRoot" ...>
                        <Border x:Name="splitBorder" ...>
                        </Border>
                    </Border>
                    <ControlTemplate.Triggers>... </ControlTemplate.Triggers>
 </ControlTemplate>

Upvotes: 1

Views: 166

Answers (0)

Related Questions