1
我試圖重新創建在Windows資源管理器中看到的WPF中的組合框樣式。我試圖創建類似於'Arrange by:'組合框的東西,例如在Libraries-> Documents下。直到您將鼠標懸停在組合框上,並且單擊後,組合框纔會顯示一個允許進行單個選擇的上下文菜單。WPF中的Windows 7樣式組合框
我試圖重新創建在Windows資源管理器中看到的WPF中的組合框樣式。我試圖創建類似於'Arrange by:'組合框的東西,例如在Libraries-> Documents下。直到您將鼠標懸停在組合框上,並且單擊後,組合框纔會顯示一個允許進行單個選擇的上下文菜單。WPF中的Windows 7樣式組合框
您可以覆蓋默認模板。如果組合框具有焦點,則使用觸發器來指定要使用哪個模板。
例如:
<Style TargetType="{x:Type ComboBox}">
<Setter Property="Template" Value="{StaticResource TemplateWhenFocused}" />
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="False" />
<Condition Property="IsFocused" Value="False" />
</MultiTrigger.Conditions>
<Setter Property="Template" Value="{StaticResource TemplateWhenNotFocused}" />
</MultiTrigger>
</Style.Triggers>
</Style>
實施例非聚焦模板。可能需要調整邊距以避免文本在切換焦點或離開物體時發生「跳躍」。
<ControlTemplate TargetType="{x:Type ComboBox}" x:Key="StyleWhenNotFocused">
<TextBlock Text="{TemplateBinding Text}"
Foreground="{TemplateBinding Foreground}"
Background="{TemplateBinding Background}"
Padding="{TemplateBinding Padding}"
Margin="2,0,2,0" />
</ControlTemplate>