or
<telerik:RadDiagramShape x:Class="SPARE_BPMS_Framework.Shapes.General.ProcessShape" mc:Ignorable="d" Content="{Binding}" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" d:DesignHeight="300" d:DesignWidth="300"> <telerik:RadDiagramShape.Resources> <DataTemplate x:Key="editTemplate"> <StackPanel Orientation="Horizontal"> <TextBox Height="24" Text="{Binding Name}" /> </StackPanel> </DataTemplate> <DataTemplate x:Key="template"> <WrapPanel Orientation="Vertical"> <TextBlock Text="{Binding Name}" /> <TextBlock Text="{Binding ChildProcessName}" /> </WrapPanel> </DataTemplate> </telerik:RadDiagramShape.Resources></telerik:RadDiagramShape>public partial class ProcessShape : RadDiagramShape { public ProcessItem Model { get; set; } public string Name { get; set; } public ProcessShape() { InitializeComponent(); Model = new ProcessItem(); this.EditTemplate = (DataTemplate)this.FindResource("editTemplate"); this.ContentTemplate = (DataTemplate)this.FindResource("template"); this.DataContext = Model; this.MouseDoubleClick += new MouseButtonEventHandler(Model.shape_MouseDoubleClick); } public void Update() { this.EditTemplate = (DataTemplate)this.FindResource("editTemplate"); this.ContentTemplate = (DataTemplate)this.FindResource("template"); } }string temp = diagram.Save(); diagram.Clear(); diagram.Load(temp);
protected override void OnItemsChanged(NotifyCollectionChangedEventArgs e)
{
var inputElement = Keyboard.FocusedElement;
base.OnItemsChanged(e);
if (inputElement is TextBox)
{
Dispatcher.BeginInvoke(() => Keyboard.Focus(inputElement), DispatcherPriority.Input);
}
}

<telerik:RadGridView Name="dGrid" AutoGenerateColumns="False" Height="188" VerticalAlignment="Top"> <telerik:RadGridView.Columns> <telerik:GridViewComboBoxColumn ItemsSourceBinding ="{Binding Path=Names, Mode=TwoWay}" DataMemberBinding="{Binding Path=Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" UniqueName="ClmNames" > </telerik:GridViewComboBoxColumn> <telerik:GridViewDataColumn DataMemberBinding="{Binding Path=Name, Mode=TwoWay}"> </telerik:GridViewDataColumn> </telerik:RadGridView.Columns>public MainWindow(){ InitializeComponent(); _employees = new List<Employee>(){ new Employee {Names = new List<string>{"Ann", "Nata"}, Name = "Ann"}, new Employee {Names = new List<string>{"Elise", "Ivan", "Марк"}, Name = "Ivan"}, new Employee {Names = new List<string>{"Elise", "Ivan", "Марк"}}, }; dGrid.ItemsSource = _employees;}<telerik:GridViewDataColumn.CellTemplate><br> <DataTemplate><br> <ComboBox ItemsSource="{Binding Path=ImprovementList}" DisplayMemberPath="refimprovement.name_full"<br> SelectedItem="{Binding Path=RecalcManualItem.cfaccimprovementlist, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"<br> SelectionChanged="ComboBox_SelectionChanged" /><br> </DataTemplate><br> </telerik:GridViewDataColumn.CellTemplate>public void ItemsRequest(object sender, ItemsRequestEventArgs e){ var dataContext = page.DataContext as MappingViewModel; if (dataContext == null) return; //var minZoom = e.MinZoom; var upperLeft = e.UpperLeft; var lowerRight = e.LowerRight; var branches = _repository.GetBranches(upperLeft.Latitude, upperLeft.Longitude, lowerRight.Latitude, lowerRight.Longitude); dataContext.SetBranches(branches, e);}