/// <summary> /// Initializes a new instance of the <see cref="TreeView"/> class. /// </summary> /// <param name="viewContext">The view context.</param> /// <param name="clientSideObjectWriterFactory">The client side object writer factory.</param> /// <param name="urlGenerator">The URL generator.</param> /// <param name="urlGenerator">The navigation item authorization.</param> /// <param name="builderFactory">The builder factory.</param> public TreeView(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IUrlGenerator urlGenerator, INavigationItemAuthorization authorization, ITreeViewHtmlBuilderFactory factory) : base(viewContext, clientSideObjectWriterFactory) { Guard.IsNotNull(urlGenerator, "urlGenerator"); Guard.IsNotNull(authorization, "authorization"); Guard.IsNotNull(factory, "factory"); UrlGenerator = urlGenerator; Authorization = authorization; builderFactory = factory; ClientEvents = new TreeViewClientEvents(); ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.treeview.js" }); DragAndDrop = new TreeViewDragAndDropSettings(); DataBinding = new TreeViewDataBindingConfiguration(); Ajax = DataBinding.Ajax; WebService = DataBinding.WebService; this.Effects = new Effects(); defaultEffects.Each(el => Effects.Container.Add(el)); Items = new LinkedObjectCollection <TreeViewItem>(null); ShowLines = true; SelectedIndex = -1; SecurityTrimming = true; }