Style BasedOn在添加x:key时中断

问题描述 投票:0回答:1

我有用户控件,为telerik的控件RadTreeViewItem定义自定义样式。问题是当我没有x:key时没有任何错误但是当我添加x:key属性时我得到错误“The resource "RadTreeViewItemStyle" could not be resolved.

        <ResourceDictionary>
            <Style x:Key="MySuperGoodStyle" TargetType="telerik:RadTreeViewItem" BasedOn="{StaticResource RadTreeViewItemStyle}">
                <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
                <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
            </Style>
        </ResourceDictionary>

在运行时没有任何问题,样式工作正常,因此看起来只是设计错误。

c# wpf xaml telerik
1个回答
1
投票

尝试在此之前添加:

  <Style TargetType="telerik:RadTreeViewItem" x:Key="RadTreeViewItemStyle">
        <Setter Property="FocusVisualStyle" Value="{StaticResource TreeviewFocusVisual}"/>
        <Setter Property="HorizontalContentAlignment" Value="Left"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="BorderThickness" Value="1"/>
        <Setter Property="Padding" Value="1 4 5 4"/>
        <Setter Property="MinHeight" Value="24"/>
        <Setter Property="IsDropAllowed" Value="True"/>
        <Setter Property="IsEnabled" Value="True"/>
        <Setter Property="IsTabStop" Value="False"/>
        <Setter Property="telerik:DragDropManager.TouchDragTrigger" Value="TapAndHold"/>
        <Setter Property="KeyboardNavigation.TabNavigation" Value="Local"/>
        <Setter Property="Template" Value="{StaticResource TreeViewItemDefaultTemplate}"/>
        <Setter Property="ItemsPanel">
            <Setter.Value>
                <ItemsPanelTemplate>
                    <telerik:TreeViewPanel VerticalAlignment="Bottom"/>
                </ItemsPanelTemplate>
            </Setter.Value>
        </Setter>
    </Style>

并确保在标题中:

         xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
© www.soinside.com 2019 - 2024. All rights reserved.