2017-08-11 6 views
0

RadTreeViewをtelerikから使用してノードがあるツリーを表示します。これは、罰金、これまでに動作しますが、ノードのハイライトの色がグレーにブルーから変わっカスタムスタイルを設定した後のデフォルトスタイルの消失(例:色)

<Style TargetType="{x:Type telerik:RadTreeViewItem}" x:Key="ItemContainerStyle"  > 
    <Setter Property="IsExpanded" Value="{Binding Path=IsExpanded,Mode=TwoWay}"/> 
</Style> 

:私自身のisExpandedとしてプロパティにIsExpandedプロパティをバインドするには、私は次のスニペットを使用します。どのように私は元のスタイルを保持し、セッタープロパティだけを追加できますか?

EDIT:

私はtelerikを使用Windows8ThemeWindows8Paletteを調整します。 前述のスタイル要素をXAMLに追加する前に、選択した要素の色がWindows8PaletteのAccentColor(青色)でした。スタイル要素を追加した後は、Windows8PaletteのBasicColor(灰色)を使用しているようです。私は正確に何が起こっているのかわかりませんが、RGB値を比較するとこのカラースイッチが表示されます。

+0

これは 'telerik'がどういうわけか' IsExpanded'プロパティをハイライトカラーに接続しているようです。ブレンドを通してスタイルを調べてみましたか? – XAMlMAX

答えて

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> 
0

デフォルトからスタイルを継承する必要があります。

<Style x:Key="ItemContainerStyle" 
     TargetType="{x:Type telerik:RadTreeViewItem}" 
     BasedOn="{x:Type telerik:RadTreeViewItem}"> 
    <Setter Property="IsExpanded" Value="{Binding Path=IsExpanded,Mode=TwoWay}"/> 
</Style> 

BasedOn="{x:Type telerik:RadTreeViewItem}"は、現在のデフォルトのスタイルを継承し、ちょうどあなたのセッターを「追加」するように指示しません。

+0

迅速な回答ありがとうございます。この属性を追加すると、「指定された値を割り当てることができません。次のタイプが予想されました:「スタイル」」。 – telandor

+0

これまでのところ、BasedOn = {StaticResource ResourceKey = {x:type telerik:RadTreeViewItem}} これはtelerikのデフォルトスタイルを継承しますが、カスタムテーマをオーバーライドしています。 – telandor

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

ありがとうございます。これにより、デフォルトのスタイルが使用されます。しかし、Style要素を追加する前に使用していたのと同じスタイルを使用したいと思います。それはカスタムスタイルであり、デフォルトのtelerikスタイルではありませんでした。 – telandor

+0

次に、このカスタムスタイルに基づいてスタイルを設定する必要があります。BasedOn = "{StaticResource TheXKeyOfTheCustomStyle}"> – mm8

+0

私のスタイルをベースにするStaticResourceはありません。問題は、XAMLスタイル要素を使用しているときに、私たちが使用するWindows8Themeがツリーに正しく適用されないことです。何らかの理由で、Windows8PaletteのBasicColorが使用され、ノードを選択するときにAccentColorは使用されません。オープニングの質問で私の編集を参照してください。 – telandor

関連する問題