<telerik:RadDocking PreviewShowCompass="RadDocking_PreviewShowCompass" Close="RadDocking_OnClose" PreviewClose="RadDocking_OnPreviewClose" Background="{x:Null}"> <telerik:RadDocking.DocumentHost> <telerik:RadSplitContainer > <telerik:RadPaneGroup Name="_rpanegroupDocuments" /> </telerik:RadSplitContainer> </telerik:RadDocking.DocumentHost> <telerik:RadSplitContainer > <telerik:RadPaneGroup Name="_rpanegroupTools"> <telerik:RadPane Header="Connections" CanUserClose="False" Name="_rpaneConnections" ContextMenuTemplate="{x:Null}" CanDockInDocumentHost="False"> <myToolWindows:ConnectionsPaneView DataContext="{Binding ConnectionsPaneViewModel}" /> </telerik:RadPane> <telerik:RadPane Header="Actions" CanUserClose="False" Name="_rpaneActions" ContextMenuTemplate="{x:Null}" CanDockInDocumentHost="False" > <myToolWindows:ActionsPaneView DataContext="{Binding ActionsPaneViewModel}" /> </telerik:RadPane> </telerik:RadPaneGroup> </telerik:RadSplitContainer> <telerik:RadSplitContainer InitialPosition="DockedBottom"> <telerik:RadPaneGroup Name="_rpanegroupOutput" AllowDrop="False"> <telerik:RadPane Header="Output" CanUserClose="False" Name="_rpaneOutput" ContextMenuTemplate="{x:Null}" CanDockInDocumentHost="False"> <myToolWindows:OutputPaneView DataContext="{Binding OutputPaneViewModel}" /> </telerik:RadPane> </telerik:RadPaneGroup> </telerik:RadSplitContainer></telerik:RadDocking> <telerik:RadPanelBarItem Header="Full Width PanelBarItem" Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:RadPanelBar}}, Path=ActualWidth}">... </telerik:RadPanelBarItem><Window x:Class="RadControlsTest.MainWindow" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded"> <Window.Resources> <DataTemplate x:Key="ComboBoxSelectionBoxTemplate"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="5" Text="{Binding TestData1}" FontSize="18.667" FontWeight="Bold" FontStyle="Italic"/> <Separator Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="5" /> <TextBlock Grid.Row="2" Grid.Column="0" Text="TestText1" HorizontalAlignment="Center" Margin="3,3,3,0" /> <TextBlock Grid.Row="2" Grid.Column="1" Text="TestText2" HorizontalAlignment="Center" Margin="3,3,3,0" /> <TextBlock Grid.Row="2" Grid.Column="2" Text="TestText3" HorizontalAlignment="Center" Margin="3,3,3,0" /> <TextBlock Grid.Row="2" Grid.Column="3" Text="TestText4" HorizontalAlignment="Center" Margin="3,3,3,0" /> <TextBlock Grid.Row="2" Grid.Column="4" Text="TestText5" HorizontalAlignment="Center" Margin="3,3,3,0" /> <telerik:RadButton Grid.Row="3" Grid.Column="0" Tag="0" Focusable="False" telerik:StyleManager.Theme="Office_Silver" Content="Button1" Click="ComboButton_Click" Margin="3" HorizontalAlignment="Center"/> <telerik:RadButton Grid.Row="3" Grid.Column="1" Tag="1" Focusable="False" telerik:StyleManager.Theme="Office_Silver" Content="Button1" Click="ComboButton_Click" Margin="3" HorizontalAlignment="Center"/> <telerik:RadButton Grid.Row="3" Grid.Column="2" Tag="2" Focusable="False" telerik:StyleManager.Theme="Office_Silver" Content="Button1" Click="ComboButton_Click" Margin="3" HorizontalAlignment="Center"/> <telerik:RadButton Grid.Row="3" Grid.Column="3" Tag="3" Focusable="False" telerik:StyleManager.Theme="Office_Silver" Content="Button1" Click="ComboButton_Click" Margin="3" HorizontalAlignment="Center"/> <telerik:RadButton Grid.Row="3" Grid.Column="4" Tag="4" Focusable="False" telerik:StyleManager.Theme="Office_Silver" Content="Button1" Click="ComboButton_Click" Margin="3" HorizontalAlignment="Center"/> </Grid> </DataTemplate> </Window.Resources> <Grid> <telerik:RadComboBox x:Name="TestComboBox" Margin="15,10" SelectionBoxTemplate="{StaticResource ComboBoxSelectionBoxTemplate}" Height="100" Width="320" /> </Grid></Window>public class TestData{ public TestData(string test1) { TestData1 = test1; } public string TestData1 { get; set; }}/// <summary>/// Interaction logic for MainWindow.xaml/// </summary>public partial class MainWindow : Window{ List<TestData> m_TestDataList = new List<TestData>(); public MainWindow() { m_TestDataList.Add(new TestData("test1")); m_TestDataList.Add(new TestData("test2")); m_TestDataList.Add(new TestData("test3")); m_TestDataList.Add(new TestData("test4")); InitializeComponent(); } private void ComboButton_Click(object sender, System.Windows.RoutedEventArgs e) { Button comboButton = (Button)sender; int index = (int)comboButton.Tag; MessageBox.Show("Clicked button " + index.ToString()); } private void Window_Loaded(object sender, System.Windows.RoutedEventArgs e) { TestComboBox.ItemsSource = m_TestDataList; TestComboBox.DisplayMemberPath = "TestData1"; }}im having a problem with templates it seems that only the first template is used not the cascaded if i use datatemplateselector it is ignored ( SelectTemplate is never called )
im quite new so maybee im doing something wron if you need more help please contact me
Edit: the ItemSource handling is correct and currentItem is also fine just the visual tree of the nested templates are ignored and this obviously results in binding errors
cheers jan
<
UserControl
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns
:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns
:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns
:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns
:local="clr-namespace:LibaryTest" xmlns:ViewModel="clr-namespace:LibaryTest.ViewModel"
xmlns
:View="clr-namespace:LibaryTest.View" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
xmlns
:Breadcrumb="clr-namespace:Telerik.Windows.Controls.Breadcrumb;assembly=Telerik.Windows.Controls.Navigation"
mc
:Ignorable="d"
x
:Class="LibaryTest.View.ProductionDetailView"
x
:Name="UserControl"
d
:DesignWidth="300" d:DesignHeight="240">
<UserControl.Resources>
<HierarchicalDataTemplate x:Key="ScheduleTemplate">
<TextBlock Text="{Binding DomainObject.ScheduleName}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="RunTemplate" ItemsSource="{Binding ProductionSchedules}" ItemTemplate="{StaticResource ScheduleTemplate}" >
<TextBlock Text="{Binding DomainObject.RunName}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="ProductionTemplate" ItemsSource="{Binding ProductionSchedules}" ItemTemplate="{StaticResource RunTemplate}" >
<TextBlock Text="{Binding DomainObject.ProductionName}" />
</HierarchicalDataTemplate>
<View:NavigationDetailTemplateSelector x:Key="detailSelector"/>
<View:NavigationMasterTemplateSelector x:Key="masterSelector"/>
</UserControl.Resources>
<d:DataContext>
<ViewModel:ProductProductionViewModel />
</d:DataContext>
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="0.05*"/>
<RowDefinition Height="0.95*"/>
</Grid.RowDefinitions>
<telerik:RadBreadcrumb x:Name="navigationView"
Header="{Binding}"
Grid.Row="0"
ItemTemplate="{DynamicResource ProductionTemplate}"
ItemsSource="{Binding ProductProductionRuns}"
IsTextModeEnabled="False"
/>
<!--
ItemTemplateSelector="{DynamicResource masterSelector}"
HeaderTemplateSelector="{DynamicResource masterSelector}"
HeaderTemplate="{DynamicResource RunTemplate}"
ItemTemplate="{DynamicResource ProductionTemplate}"
HeaderTemplate="{DynamicResource ProductionTemplate}"
<TreeView x:Name="navigationView" ItemsSource="{Binding ProductProductionRuns}" Grid.Row="0" ItemTemplate="{DynamicResource RunTemplate}" />
-->
<!--
this is working fine
<ContentControl x:Name="DetailView"
DataContext="{Binding CurrentItem, ElementName=navigationView}"
ContentTemplateSelector="{DynamicResource detailSelector}"
Grid.Row="1"
Content="{Binding DataContext, RelativeSource={RelativeSource Self}}" >
</ContentControl>-->
</Grid>
</
UserControl>
public class Folder{ public string Name { get; set; } public ObservableCollection<Folder> SubFolders { get; set; }}<telerik:RadTreeView DockPanel.Dock="Top"> <telerik:RadTreeViewItem Header="My Folders" ItemsSource="{Binding Folders}"> <telerik:RadTreeViewItem.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding SubFolders}" DataType="{x:Type Model:Folder}"> <TextBlock Text="{Binding Name}" /> </HierarchicalDataTemplate> </telerik:RadTreeViewItem.ItemTemplate> </telerik:RadTreeViewItem></telerik:RadTreeView><telerik:RadTreeView DockPanel.Dock="Top"> <telerik:RadTreeViewItem Header="My Tags" ItemsSource="{Binding Tags}"> <telerik:RadTreeViewItem.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding SubTags}" DataType="{x:Type Model:Tag}"> <TextBlock Text="{Binding Name}" > <telerik:RadContextMenu.ContextMenu> <telerik:RadContextMenu> <telerik:RadMenuItem Header="Rename" Command="{StaticResource renameTagCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=DataContext}"/> <telerik:RadMenuItem Header="Delete Tag"/> </telerik:RadContextMenu> </telerik:RadContextMenu.ContextMenu> </TextBlock> </HierarchicalDataTemplate> </telerik:RadTreeViewItem.ItemTemplate> </telerik:RadTreeViewItem>