Domanda

Modificare: Ora sembra che questo sia un bug con i controlli Telerik che sto usando. Dopo aver rimborsato il mio XAML usando .NET TreeView, ottengo i risultati che mi aspetterei. L'ho segnalato a Telerik e risponderò a questo post dopo averlo sentito.

Sto tentando (con un successo limitato) di creare un albero che contiene una miscela di dati dinamici e statici.

Di seguito troverai il mio attuale miglior tentativo di seguito, tuttavia dal momento che nidificano gli alberi degli alberi, c'è un effetto collaterale in cui è possibile avere più elementi all'interno del genitore TreeView selezionato. Quando ho provato a nidificare TreeViewItems, i risultati non erano positivi, vale a dire solo il livello genitore TreeViewItem nell'ecticeTemplate viene visualizzato e lo spazio per i suoi bambini viene creato ma nulla è in uscita.

Mi piacerebbe davvero sapere come raggiungere il mio obiettivo senza ricorrere a specificare l'intero menu nelle raccolte che leggi allaview.

Grazie

<telerik:RadTreeView Width="225" HorizontalAlignment="Left" Background="Transparent" FontWeight="SemiBold">
        <telerik:RadTreeViewItem Header="Customer" Command="{Binding OpenCustomerCommand}"/>
        <telerik:RadTreeViewItem Header="Sites" Command="{Binding OpenSiteBrowserCommand}" ItemsSource="{Binding Sites}">

            <telerik:RadTreeViewItem.ItemTemplate>
                <DataTemplate>

                    <telerik:RadTreeView>

                        <telerik:RadTreeViewItem Header="{Binding Key}"
                            Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=view:WindowViewBase}, 
                            Path=DataContext.OpenSiteCommand}" 
                            CommandParameter="{Binding Value}">

                            <telerik:RadTreeViewItem Header="Material Profiles" 
                                Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=view:WindowViewBase}, 
                                Path=DataContext.OpenMaterialProfileBrowserCommand}" 
                                CommandParameter="{Binding Value}"/>

                            <telerik:RadTreeViewItem Header="Prices" 
                                Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=view:WindowViewBase}, 
                                Path=DataContext.OpenPriceBrowserCommand}" 
                                CommandParameter="{Binding Value}"/>

                            <telerik:RadTreeViewItem Header="Orders"
                                Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=view:WindowViewBase}, 
                                Path=DataContext.OpenOrderBrowserCommand}" 
                                CommandParameter="{Binding Value}"/>

                            <telerik:RadTreeViewItem Header="Activity">

                                <telerik:RadTreeViewItem Header="Collection"
                                    Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=view:WindowViewBase}, 
                                    Path=DataContext.OpenActivityCollectionsBrowserCommand}" 
                                    CommandParameter="{Binding Value}"/>

                                <telerik:RadTreeViewItem Header="Call Outs"
                                    Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=view:WindowViewBase}, 
                                    Path=DataContext.OpenActivityCallOutBrowserCommand}" 
                                    CommandParameter="{Binding Value}"/>

                                <telerik:RadTreeViewItem Header="Gate"
                                    Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=view:WindowViewBase}, 
                                    Path=DataContext.OpenActivityGateBrowserCommand}" 
                                    CommandParameter="{Binding Value}"/>

                                <telerik:RadTreeViewItem Header="One Off Charges"
                                    Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=view:WindowViewBase}, 
                                    Path=DataContext.OpenActivityOneOffChargeBrowserCommand}" 
                                    CommandParameter="{Binding Value}"/>

                            </telerik:RadTreeViewItem>

                        </telerik:RadTreeViewItem>
                    </telerik:RadTreeView>
                </DataTemplate>
            </telerik:RadTreeViewItem.ItemTemplate>

        </telerik:RadTreeViewItem>
È stato utile?

Soluzione

Telerik ha confermato che ciò non è possibile con il loro controllo Radtreeview e lo hanno aggiunto alla loro lista di Todo.

Grazie per i commenti comunque.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top