<telerik:RadTreeView HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="CategoryTree" ItemsSource="{Binding Path=Categories}" SelectedItem="{Binding Path=CurrentCategory, Mode=TwoWay}" SelectionChanged="CategoryTree_SelectionChanged">
<telerik:RadTreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Categories}">
<TextBlock Text="{Binding Name}" />
</HierarchicalDataTemplate>
</telerik:RadTreeView.ItemTemplate>
</telerik:RadTreeView>
protected override void Load()As you can see, I iterate through root level categories and they all have a Categories property filled with data. But when I try to select child categories from tree, they select visually on the tree but SelectedItem is always null. This happens because in Load() method I have CollectionViewSource.GetDefaultView(Categories) which returns a list which contains only root categories.
{
_categories = new ObservableCollection<CategoryBO>();
foreach (Category category in _repositoryCategory.Entities.Where(p => p.ParentCategory == null))
{
CategoryBO tempCategory = category;
if (tempCategory != null)
{
Categories.Add(tempCategory);
}
}
_categoryView = CollectionViewSource.GetDefaultView(Categories);
OnPropertyChanged("CategoriesList");
OnPropertyChanged("CurrentCategory");
} and this is how I initialize a CategoryBO object:public static implicit operator CategoryBO(Category category)
{
return new CategoryBO(category);
}public CategoryBO(Category category)
{
ID = category.CategoryID;
ParentID = category.ParentID;
Name = category.Name;
foreach (ProductBO product in category.Products)
{
_products.Add(product);
}
foreach (Category cat in category.Categories)
{
_categories.Add(cat);
}
}
<telerik:GridViewDataColumn
ShowDistinctFilters="False"
Width="250"
>
<telerik:GridViewColumn.Header>
<TextBlock
Text="Role Name"
Style="{StaticResource HeaderTextBlockStyle}"
>
</TextBlock>
</telerik:GridViewColumn.Header>
<telerik:GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock
Text="{Binding Path=RoleName}"
TextTrimming="CharacterEllipsis"
Width="250"
>
<TextBlock.ToolTip>
<ToolTip
Content="{Binding Path=RoleName}"
Background="{StaticResource BlueBrush}"
Style="{StaticResource ToolTipStyle}"
>
</ToolTip>
</TextBlock.ToolTip>
</TextBlock>
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewDataColumn>
