<
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
>
<telerik:RadGridView.GroupDescriptors> <data:GroupDescriptor Member="Checked" /> </telerik:RadGridView.GroupDescriptors> <telerik:RadGridView.SortDescriptors> <data:SortDescriptor Member="Name"/> </telerik:RadGridView.SortDescriptors>