如何在wpf中扩展xamoutlookbar主题?

时间:2014-10-06 11:37:53

标签: wpf themes infragistics wpf-style

ResourceDictionary包括以下标记。

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:flTheme1="Fluent;component/Themes/Office2010"
                    xmlns:Fluent="clr-namespace:Fluent;assembly=Fluent"
                    xmlns:igDP="http://infragistics.com/DataPresenter"
                    xmlns:igEditors="http://infragistics.com/Editors"
                    xmlns:igOB="http://infragistics.com/OutlookBar"
                    xmlns:igOutlookBar="http://infragistics.com/OutlookBar"
                    xmlns:igThemes="http://infragistics.com/Themes"
                    xmlns:igThemes3="clr-namespace:Infragistics.Windows.Themes;assembly=InfragisticsWPF4.OutlookBar.v14.1"
                    xmlns:igThemes4="clr-namespace:Infragistics.Windows.Themes;assembly=InfragisticsWPF4.DataPresenter.v14.1"
                    xmlns:igThemes5="clr-namespace:Infragistics.Windows.Themes;assembly=InfragisticsWPF4.DockManager.v14.1"
                    xmlns:igWindows="http://infragistics.com/Windows"
                    xmlns:local="clr-namespace:Dwm">

          <Style TargetType="{x:Type igOB:OutlookBarGroup}" BasedOn="{StaticResource ResourceKey=igThemes3}" >
         <style>

</ResourceDictionary>

如何扩展XamOutlookBar主题,以便我可以覆盖OutlookBarGroup的样式并在其上应用我的样式来更改其背景。

1 个答案:

答案 0 :(得分:2)

为什么不设置群组的背景属性:

<igOB:XamOutlookBar>
    <igOB:OutlookBarGroup Background="{StaticResource YourBrushResource}"/>
</igOB:XamOutlookBar>

如果您想创建隐式样式,我仍然建议您覆盖背景属性:

<Style TargetType="igOB:OutlookBarGroup" BasedOn="{StaticResource {x:Type igOB:OutlookBarGroup}}">
    <Setter Property="Background" Value="{StaticResource YourBrushResource}"/>
</Style>

最后,如果你想修改控件模板,你可以使用Visual Studio提取它,如How to Extract Default Control Template In Visual Studio?

中的回答