相关疑难解决方法(0)

当从DataTemplateSelector显式返回DataTemplate时,为什么DataTemplate不能绑定到接口?

我已经创建了一个DataTemplateSelector,它使用已知接口的集合进行初始化.如果传入选择器的项目实现其中一个接口,则返回关联的数据模板.

首先,这是有问题的ICategory接口......

public interface ICategory
{
    ICategory ParentCategory { get; set; }
    string    Name           { get; set; }

    ICategoryCollection Subcategories { get; }
}
Run Code Online (Sandbox Code Playgroud)

这是基于基类或接口而不仅仅是特定具体类匹配的DataTemplateSelector ...

[ContentProperty("BaseTypeMappings")]
public class SubclassedTypeTemplateSelector : DataTemplateSelector
{
    private delegate object TryFindResourceDelegate(object key);

    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        var frameworkElement = container as FrameworkElement;

        foreach(var baseTypeMapping in BaseTypeMappings)
        {
            // Check if the item is an instance of, a subclass of,
            // or implements the interface specified in BaseType
            if(baseTypeMapping.BaseType.IsInstanceOfType(item))
            {
                // …
Run Code Online (Sandbox Code Playgroud)

c# wpf datatemplate hierarchicaldatatemplate datatemplateselector

7
推荐指数
1
解决办法
761
查看次数

使用不同的父节点和不同的子节点实现WPF树视图?

我想实现一个具有以下结构的树视图.....

[RootNode] <----树的根
- [ParentNode P1] <---- ModelClass P1的对象
---- [ChildNode C1] <----- ModelClass C1的对象(有不同类型的子节点) ()
[ChildNode C2] <----- ModelClass C2的对象(也有不同类型的子
节点)---- [ChildNode C3] <----- ModelClass C3的对象(有)不同类型的孩子)
- [ParentNode Q1] <---- ModelClass Q1的对象
---- [ChildNode B1] <----- ModelClass B1的对象(也有不同类型的孩子)
- --- [ChildNode B2] <----- ModelClass B2的对象(也有不同类型的子
节点)---- [ChildNode B3] <----- ModelClass B3的对象(有不同类型的子节点)()
[ParentNode R1] <---- ModelClass R1的对象
---- [ChildNode A1] <----- ModelClass A1的对象(也有不同类型的子节点)
---- [ ChildNode A2] <----- ModelClass A2的对象(也有不同类型的子
节点)---- [ChildNode A3] <----- ModelClass A3的对象(也有不同类型的子节点))

我已经查看了本网站以及网络上提出的许多解决方案.....但只是无法弄清楚如何做到这一点......

这是我对Wpf的第一次尝试,这是一个至关重要的要求......

也很难找到上述不同类的对象模型.....

上面显示的所有类都有其他属性,包括它们的子节点......我不想只显示子节点的所有属性 …

wpf treeview lazy-loading hierarchicaldatatemplate

5
推荐指数
1
解决办法
7945
查看次数