我使用来自telerik的RadTreeView
来显示带有节点的树。要将IsExpanded
属性绑定到我自己的IsExpanded属性,请使用以下代码段:
<Style TargetType="{x:Type telerik:RadTreeViewItem}" x:Key="ItemContainerStyle" >
<Setter Property="IsExpanded" Value="{Binding Path=IsExpanded,Mode=TwoWay}"/>
</Style>
到目前为止,此工作正常,但节点的高亮颜色从蓝色变为灰色。如何保留原始样式并仅添加setter属性?
编辑:
我使用telerik Windows8Theme
并调整Windows8Palette
。
在XAML中添加提到的样式元素之前,所选元素的颜色是Windows8Palette的AccentColor(蓝色)。添加样式元素后,似乎使用了Windows8Palette的BasicColor(灰色)。我不知道到底发生了什么,但比较RGB值显示了这个颜色开关。
答案 0 :(得分:0)
应该是:
<Style x:Key="ItemContainerStyle" TargetType="{x:Type telerik:RadTreeViewItem}" BasedOn="{StaticResource {x:Type telerik:RadTreeViewItem}}">
<Setter Property="IsExpanded" Value="{Binding Path=IsExpanded,Mode=TwoWay}"/>
</Style>
...如果您想将自定义样式基于默认样式。
答案 1 :(得分:0)
我终于得到了答案。我从另一个组件覆盖了我们的自定义样式。这有效:
<telerik:radGridView.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/OtherAssembly,component/existingStyles.xaml />
</ResourceDictionary.MergedDictionaries>
<Style BasedOn="{StaticResource xKeyOfStyleToExtendFromExistingStyles}" TargetType="{x:Type telerik:RadTreeViewItem}">
<Setter Property="IsExpanded" Value="{Binding Path=IsExpanded, Mode=TwoWay}"/>
</Style>
</ResourceDictionary>
</telerik:radGridView.Resources>