// 模拟 DependencyObject 类
class DependencyObject {}

// 模拟 TreeView 类
class TreeView {
    protected GetContainerForItemOverride(): DependencyObject {
        return new DependencyObject();
    }
    protected IsItemItsOwnContainerOverride(item: any): boolean {
        return false;
    }
}

// 模拟 TreeViewListItem 类
class TreeViewListItem extends DependencyObject {
    public OverridesDefaultStyle: boolean = false;
}

// 模拟 GridViewColumnCollection 类
class GridViewColumnCollection {}

// 定义 TreeViewList 类
export class TreeViewList extends TreeView {
    protected GetContainerForItemOverride(): DependencyObject {
        const li = new TreeViewListItem();
        li.OverridesDefaultStyle = true;
        return li;
    }

    protected IsItemItsOwnContainerOverride(item: any): boolean {
        return item instanceof TreeViewListItem;
    }

    private _columns: GridViewColumnCollection | null = null;
    public get Columns(): GridViewColumnCollection {
        if (this._columns === null) {
            this._columns = new GridViewColumnCollection();
        }
        return this._columns;
    }
}