我想基于IsDropDownOpen显示不同的组合框图像。不知道如何正确访问'imgArrow'。DataTemplate的XAML ControlTemplate触发器失败
<Style TargetType="ComboBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBox" >
<Grid Background="{DynamicResource ComboDropdownNormal}" Height="50" Width="326" >
<ContentPresenter Content="{TemplateBinding SelectionBoxItem}" >
<ContentPresenter.ContentTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding}" />
<Image x:Name="imgArrow"
Source="{DynamicResource ComboBoxArrowNormalImage}"
RenderOptions.BitmapScalingMode="HighQuality" />
</Grid>
</DataTemplate>
</ContentPresenter.ContentTemplate>
</ContentPresenter>
<ToggleButton ClickMode="Press" Focusable="false"
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
Template="{StaticResource ComboBoxToggleButtonTmp}" />
<Popup IsOpen="{TemplateBinding IsDropDownOpen}" Placement="Bottom" >
<ContentControl>
<Border x:Name="DropDownBorder"
Background="{DynamicResource ComboDropdownNormal}"
MaxHeight="540" MinWidth="{TemplateBinding ActualWidth}" >
</Border>
</ContentControl>
</Popup>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="HasItems" Value="false">
<Setter TargetName="DropDownBorder" Property="MinHeight" Value="95" />
</Trigger>
<!-- FAILS -->
<Trigger Property="IsDropDownOpen" Value="True">
<Setter TargetName="imgArrow" Property="Image.Source" Value="{DynamicResource ComboBoxArrowHoverImage}" />
</Trigger>
<Trigger Property="IsDropDownOpen" Value="False">
<Setter TargetName="imgArrow" Property="Image.Source" Value="{DynamicResource ComboBoxArrowNormalImage}" />
</Trigger>
<!-- FAILS -->
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
上述代码中的粗体触发器失败。任何援助将不胜感激。谢谢!
不知道为什么我不能在我的代码中获得粗体。编辑器和添加标签似乎都不起作用。 –