I am trying to bind a treeview with checkboxes to a observablecollection. It works for the checkstate but the header wont render. What am I doing wrong?
The xaml:
<UserControl.Resources> |
<telerik:ContainerBindingCollection x:Key="TreeItemContainerBindings"> |
<telerik:ContainerBinding PropertyName="CheckState" Binding="{Binding Checked, Mode=TwoWay}" /> |
<telerik:ContainerBinding PropertyName="Header" Binding="{Binding Name}" /> |
</telerik:ContainerBindingCollection> |
</UserControl.Resources> |
<telerikNavigation:RadTreeView x:Name="TestTreeView" Margin="0,67,50,19" IsOptionElementsEnabled="True" |
IsTriStateMode="true" IsLineEnabled="True" SelectionMode="Single" IsEditable="false" |
IsDragDropEnabled="False" ItemsOptionListType="CheckList" |
RenderTransformOrigin="0.5,0.5" IsExpandOnDblClickEnabled="True" IsExpandOnSingleClickEnabled="False" |
HorizontalAlignment="Right" Width="282" > |
<telerikNavigation:RadTreeView.ItemTemplate> |
<telerik:HierarchicalDataTemplate ItemsSource="{Binding SubSRS}" |
telerik:ContainerBinding.ContainerBindings="{StaticResource TreeItemContainerBindings}"> |
</telerik:HierarchicalDataTemplate> |
</telerikNavigation:RadTreeView.ItemTemplate> |
</telerikNavigation:RadTreeView> |
And the code:
public partial class MainPage : UserControl | |
{ | |
ObservableCollection<SRS> SRSObservable = new ObservableCollection<SRS>(); | |
public SRS srs = new SRS(); | |
public MainPage() | |
{ | |
InitializeComponent(); | |
int[] srsArray = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 21, 22, 23, 24, 25, 26, 84 }; | |
srs.Checked = ToggleState.On; | |
srs.Name = "SRS"; | |
srs.SubSRS = new ObservableCollection<SRS>(); | |
foreach (var i in srsArray) | |
{ | |
SRS subsrs = new SRS(); | |
subsrs.Checked = ToggleState.Indeterminate; | |
subsrs.Name = i.ToString(); | |
subsrs.Enabled = false; | |
srs.SubSRS.Add(subsrs); | |
} | |
SRSObservable.Add(srs); | |
TestTreeView.ItemsSource = SRSObservable; | |
} | |
} | |
public class SRS | |
{ | |
public ObservableCollection<SRS> SubSRS { get; set; } | |
public string Name { get; set; } | |
public bool Enabled { get; set; } | |
public ToggleState Checked { get; set; } | |
} |
Thanks in advance.
Ruben