【问题标题】:Why can't I use Telerik's RadPanelBar with a standard collection of objects?为什么我不能将 Telerik 的 RadPanelBar 与标准的对象集合一起使用?
【发布时间】:2011-06-02 15:48:30
【问题描述】:

我正在尝试使用 Telerik 的 RadPanelBar 来显示对象列表。我希望在折叠时显示名称,并在展开时显示对象。由于某种原因,这似乎不起作用。我是不是用错了这个控件??

<telerik:RadPanelBar ItemsSource="{Binding Contacts}" />

控件正确呈现,项目数量正确,但我无法展开任何项目。我希望它呈现为:

<Item Header="{Binding Name}" IsExpanded="False" />
<Item Header="{Binding Name}" IsExpanded="True">
    <ContentControl Content="{Binding }" />
</Item>
<Item Header="{Binding Name}" IsExpanded="False" />
<Item Header="{Binding Name}" IsExpanded="False" />

【问题讨论】:

    标签: wpf xaml telerik


    【解决方案1】:

    无论出于何种原因,RadPanelBar 都需要绑定到集合中的集合。它不适用于单个对象。我使用的解决方法是:

    <telerik:RadPanelBar ItemsSource="{Binding Contacts}">
        <telerik:RadPanelBar.ItemTemplate>
            <HierarchicalDataTemplate ItemsSource="{Binding ObnoxiousWorkaroundForTelerik}">
                <TextBlock Text="{Binding Name}" />
                <HierarchicalDataTemplate.ItemTemplate>
                    <DataTemplate>
                        <ContentControl Content="{Binding }" />
                    </DataTemplate>
                </HierarchicalDataTemplate.ItemTemplate>
            </HierarchicalDataTemplate>
        </telerik:RadPanelBar.ItemTemplate>
    </telerik:RadPanelBar>
    

    在我的 ContactClass 中,我为此添加了一个集合....

    private ObservableCollection<AgencyContact> _forTelerik;
    public ObservableCollection<AgencyContact> ObnoxiousWorkaroundForTelerik
    {
        get
        { 
            if (_forTelerik == null)
            {
                _forTelerik = new ObservableCollection<AgencyContact>();
                _forTelerik.Add(this);
            }
            return _forTelerik;
        }
    }
    

    如果有人知道不需要我在班级中创建班级集合的另一种解决方法,请告诉我!

    【讨论】:

      【解决方案2】:

      我对这个控件没有特别的经验,但我知道在其他 WPF 控件中,如果您尝试显示可展开和折叠的内容,则需要定义 HierarchicalDataTemplate。请参阅:http://msdn.microsoft.com/en-us/library/system.windows.hierarchicaldatatemplate.aspx 或更多分步方法请参阅此处:http://blogs.msdn.com/b/mikehillberg/archive/2009/10/30/treeview-and-hierarchicaldatatemplate-step-by-step.aspx

      在 Telerik 论坛上,看起来这篇文章有一个这样做的例子: http://www.telerik.com/community/forums/wpf/panelbar/radpanelbar-datatemplate.aspx

      【讨论】:

      • 使用 HierachialDataTemplate 会导致相同的行为
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 1970-01-01
      • 1970-01-01
      • 2020-08-26
      • 2013-07-02
      • 2015-11-08
      • 2013-08-24
      相关资源
      最近更新 更多