首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加<Style>后的Reste telerik主题

添加<Style>后的Reste telerik主题
EN

Stack Overflow用户
提问于 2020-03-14 19:58:34
回答 1查看 46关注 0票数 0

我想将我的WPF & C#代码更改为telerik。在更改之前,我有一些工作空间的HeaderContentControl

我的XAML代码

代码语言:javascript
复制
<HeaderedContentControl 
      Content="{Binding Workspaces}"
      ContentTemplate="{StaticResource WorkspacesTemplate}"
      Style="{StaticResource MainHCCStyle}"
/>

My Resources

代码语言:javascript
复制
<Style x:Key="MainHCCStyle" TargetType="{x:Type HeaderedContentControl}>
 <Setter Property="Template">
  <Setter.Value>
    <ControlTemplate TargetType="{x:Type HeaderedContentControl}>
      <DockPanel>
        <ContentPresenter 
          ContentSource="Content" 
           ContentTemplate="{TemplateBinding ContentTemplate}" 
         />
       </DockPanel>
     </ControlTemplate>
   </Setter.Value>
 </Setter>
</Style>

<DataTemplate x:Key="WorkspacesTemplate">
        <TabControl 
      IsSynchronizedWithCurrentItem="True" 
      ItemsSource="{Binding}" 
      ItemTemplate="{StaticResource ClosableTabItemTemplate}"
      Margin="4"
      />
</DataTemplate>

将代码修改为Telerik后,我的代码如下所示

我的XAML代码

代码语言:javascript
复制
<telerik:RadTabbedWindow
  Content="{Binding Workspaces}"
  ContentTemplate="{StaticResource WorkspacesTemplate}"
  telerik:StyleManager.Theme="Office2016"
  Style="{StaticResource MainHCCStyle}"
  />

My Resources

代码语言:javascript
复制
<Style x:Key="MainHCCStyle" TargetType="{x:Type telerik:RadTabbedWindow}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type telerik:RadTabbedWindow}">
                    <DockPanel>
                        <ContentPresenter 
              ContentSource="Content" 
              ContentTemplate="{TemplateBinding ContentTemplate}" 
              />
                    </DockPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

<DataTemplate x:Key="WorkspacesTemplate">
        <TabControl 
      IsSynchronizedWithCurrentItem="True" 
      ItemsSource="{Binding}" 
      ItemTemplate="{StaticResource ClosableTabItemTemplate}"
      Margin="4"
      />

</DataTemplate>

工作区没有问题,但Telerik主题不起作用( telerik:StyleManager.Theme="Office2016"). )只有当我删除Style="{StaticResource MainHCCStyle}"时,样式才会激活,但是工作区不能工作

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-20 11:41:53

针对RadTabbedWindow的自定义RadTabbedWindow正在重写其ControlTemplate (通过Template属性)。这意味着控件的默认外观和感觉将替换为在Dock中定义的Style面板。

若要使此操作,请设置ContentTemplate of RadTabbedWindow,而不是其模板属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60686792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档