or
<Window x:Class="DynamicColumnSample.MainWindow" xmlns:local="clr-namespace:DynamicColumnSample" xmlns:my="clr-namespace:DynamicColumnSample.Objects" xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars" Title="MainWindow" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:DynamicColumnSanple="clr-namespace:DynamicColumnSample" Width="525" Height="364"> <Window.DataContext> <local:ViewModel /> </Window.DataContext> <Window.Resources> <my:ColumnTemplateSelector x:Key="ColumnTemplateSelector" /> <DataTemplate x:Key="DefaultColumnTemplate"> <ContentControl> <dxg:GridColumn AllowEditing="False" my:ColumnBindingHelper.BindingPath="{Binding FieldName}" Header="{Binding Header}" /> </ContentControl> </DataTemplate> <DataTemplate x:Key="TextColumnTemplate"> <ContentControl> <dxg:GridColumn AllowEditing="True" my:ColumnBindingHelper.BindingPath="{Binding FieldName}" Header="{Binding Header}" > <dxg:GridColumn.EditSettings> <dxe:TextEditSettings Tag="{Binding Path=Tag}" ToolTip="{Binding Path=ToolTip}" /> </dxg:GridColumn.EditSettings> </dxg:GridColumn> </ContentControl> </DataTemplate> </Window.Resources> <Grid> <dx:PopupBase Name="hitInfoPopup" Placement="Mouse" PlacementTarget="{Binding ElementName=treeListStoreUnitSchedule}" Opened="hitInfoPopup_Opened"> <Grid Width="250" Height="250" Background="Beige"> <Border Padding="12,8,24,10"> <ItemsControl Name="hitIfoItemsControl"> <ItemsControl.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" > <TextBlock Text="{Binding Name}"></TextBlock> <TextBlock Text="{Binding Text}"></TextBlock> </StackPanel> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </Border> </Grid> </dx:PopupBase> <dxg:GridControl x:Name="treeListStoreUnitSchedule" Grid.Row="1" ColumnGeneratorTemplateSelector="{StaticResource ColumnTemplateSelector}" ColumnsSource="{Binding GridColumns}" ItemsSource="{Binding RegionObjects}"> <dxg:GridControl.Resources> <my:CustomChildrenSelector x:Key="childrenSelector" /> </dxg:GridControl.Resources> <dxg:GridControl.View> <dxg:TreeListView x:Name="view" ChildNodesSelector="{StaticResource childrenSelector}" TreeDerivationMode="ChildNodesSelector" local:TreeListExpandedNodesHelper.SynchIsExpanded="True" > <dxg:TreeListView.RowCellMenuCustomizations> <dxb:BarCheckItem Name="checkItem1" Content="Checked" IsChecked="True" dxb:BarItemLinkActionBase.ItemLinkIndex="0" /> <dxb:BarItemLinkSeparator dxb:BarItemLinkActionBase.ItemLinkIndex="1" /> </dxg:TreeListView.RowCellMenuCustomizations> <dxg:TreeListView.CellTemplate> <DataTemplate> <BorderBorderBrush="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type dxg:GridCellContentPresenter}}, Path=BorderBrush}"BorderThickness="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type dxg:GridCellContentPresenter}}, Path=BorderThickness}"> <dxe:TextEdit x:Name="PART_Editor"/> </Border> </DataTemplate> </dxg:TreeListView.CellTemplate> </dxg:TreeListView> </dxg:GridControl.View> </dxg:GridControl> <Button Command="{Binding Path=AddCommand}" Content="Button" Height="23" HorizontalAlignment="Left" Margin="321,0,0,0" Name="button1" VerticalAlignment="Top" Width="75" /> </Grid></Window>private void PopulateMonthList() { try { ObservableCollection<MonthInfo> tmpMonthInfo = new ObservableCollection<MonthInfo>(){ new MonthInfo(){MonthName="2011-01", MonthNumber=201101}, new MonthInfo(){MonthName="2011-02", MonthNumber=201102}, new MonthInfo(){MonthName="2011-03", MonthNumber=201103}, new MonthInfo(){MonthName="2011-04", MonthNumber=201104}, new MonthInfo(){MonthName="2011-05", MonthNumber=201105}, new MonthInfo(){MonthName="2011-06", MonthNumber=201106}, new MonthInfo(){MonthName="2011-07", MonthNumber=201107}, new MonthInfo(){MonthName="2011-08", MonthNumber=201108}, new MonthInfo(){MonthName="2011-09", MonthNumber=201109}, new MonthInfo(){MonthName="2011-10", MonthNumber=201110}, new MonthInfo(){MonthName="2011-11", MonthNumber=201111}, new MonthInfo(){MonthName="2011-12", MonthNumber=201112}, new MonthInfo(){MonthName="2012-01", MonthNumber=201201}, }; TextColumn txtColumn = null; for (int i = 0; i < 13; i++) { txtColumn = new TextColumn(); txtColumn.FieldName = "SalesInfoObject[" + i.ToString() + "].Quantity"; txtColumn.Header = tmpMonthInfo[i].MonthName.ToString(); txtColumn.Setting = SettingsType.Text; txtColumn.Tag = "SalesInfoObject[" + i.ToString() + "]"; txtColumn.ToolTip = "SalesInfoObject[" + i.ToString() + "]" + "].Brand"; _gridColumns.Add(txtColumn); } _gridColumns.Insert(0, new GridColumn() { Header = "Store Region", FieldName = "Name", Setting = SettingsType.Default }); _gridColumns.Insert(1, new GridColumn() { Header = "Store Quantity", FieldName = "Count", Setting = SettingsType.Default }); OnPropertyChanged("GridColumns"); } catch (Exception ex) { throw ex; }
<CollectionViewSource x:Key="categoriesViewSource" d:DesignSource="{d:DesignInstance Model:Category, CreateList=True}" />
<telerik:RadTreeView HorizontalAlignment="Stretch" IsEditable="True"
ItemsSource="{Binding}"
Name="CategoryTreeView"
VerticalAlignment="Stretch"
SelectionChanged="CategoryTreeView_OnSelectionChanged"
KeyUp="CategoryTreeView_KeyUp"
Edited="CategoryTreeView_Edited">
<telerik:RadTreeView.ItemEditTemplate>
<DataTemplate>
<TextBox Text="{Binding Name, Mode=TwoWay}"/>
</DataTemplate>
</telerik:RadTreeView.ItemEditTemplate>
<telerik:RadTreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Subcategories}">
<TextBlock Text="{Binding Name}" />
</HierarchicalDataTemplate>
</telerik:RadTreeView.ItemTemplate>
</telerik:RadTreeView>
Category parent = CategoryTreeView.SelectedItem == nullEverything also works fine and child items are inserting to selected node. Works until I try to add a root node. When no selected item is available, this code won't work. New category adds to collection but never displays on tree. Can you please help me?
? null
: _context.Categories.FirstOrDefault(
c => c.CategoryID == ((Category) CategoryTreeView.SelectedItem).CategoryID);
Category newCategory = new Category
{
Name = "New category",
ParentCategory = parent,
ParentID = parent == null ? (Guid?) null : parent.CategoryID
};
_context.Categories.AddObject(newCategory);

public class DatePickerExtended : RadDatePicker{ static DatePickerExtended() { //Make sure the style in Themes/Generic.xaml is used. DefaultStyleKeyProperty.OverrideMetadata(typeof(DatePickerExtended), new FrameworkPropertyMetadata(typeof(DatePickerExtended))); }}<Style TargetType="{x:Type local:DatePickerExtended}" x:Key="{x:Type local:DatePickerExtended}"> <!-- A bunch of setters, including for the Template property. --></Style><Window x:Class="WpfApplication2.MainWindow" Title="MainWindow" Height="350" Width="525" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"> <Window.Resources> <SolidColorBrush x:Key="GridView_HeaderBackground" Color="LightBlue" /> <Style TargetType="telerik:GridViewHeaderCell"> <Setter Property="Background" Value="{StaticResource GridView_HeaderBackground}"/> </Style> </Window.Resources> <Grid> <telerik:RadGridView Name="radGridView1" ShowGroupPanel="False" RowIndicatorVisibility="Collapsed" > <telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="One" Width="100" /> </telerik:RadGridView.Columns> </telerik:RadGridView> </Grid></Window><telerik:SeriesMapping> <telerik:SeriesMapping.SeriesDefinition> <telerik:PieSeriesDefinition LegendDisplayMode="DataPointLabel" ShowItemLabels="False" ShowItemToolTips="True"> <telerik:PieSeriesDefinition.Appearance> <telerik:SeriesAppearanceSettings ></telerik:SeriesAppearanceSettings> </telerik:PieSeriesDefinition.Appearance> </telerik:PieSeriesDefinition> </telerik:SeriesMapping.SeriesDefinition> <telerik:ItemMapping DataPointMember="YValue" FieldName="Commission" /> <telerik:ItemMapping DataPointMember="LegendLabel" FieldName="Symbol" /> </telerik:SeriesMapping>
<telerik:ItemMapping DataPointMember="YValue" FieldName="{Binding ElementName=radChart1, Path=DataContext.DataFieldName}" />
var radWindowViewModel = new MyViewModel();var radWindow = new RadWindow { Width = 400, Height = 150, Content = ViewLocator.LocateForModelType(typeof(MyViewModel), null, radWindowViewModel) };radWindow.ShowDialog();Content = ViewLocator.LocateForModel(radWindowViewModel, null, null)