<
UserControl x:Class="XXXXXXXXXXX"
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="416" d:DesignWidth="736" xmlns:telerik=http://schemas.telerik.com/2008/xaml/presentation
xmlns:Behaviors="XXXXXXXXXXX">
<UserControl.Resources>
<Style x:Key="RowStyle" TargetType="telerik:GridViewRow" >
<Setter Property="FontFamily" Value="Segoe UI" />
<Setter Property="FontSize" Value="11" />
</Style>
<Style x:Key="HeaderStyle" TargetType="telerik:GridViewHeaderRow">
<Setter Property="FontFamily" Value="Segoe UI" />
<Setter Property="FontSize" Value="11" />
<Setter Property="FontWeight" Value="Bold" />
</Style>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions >
<RowDefinition Height="*"/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<telerik:RadGridView Name="gridv" Grid.Row="0" ItemsSource="{Binding Path=RecordModels.View}" AutoGenerateColumns="False" CanUserResizeColumns="False"
IsFilteringAllowed="False" IsSynchronizedWithCurrentItem="True" Behaviors:MouseDoubleClickEventBehavior.MouseDoubleClickEvent="{Binding DoubleClickEvent}"
RowStyle="{StaticResource RowStyle}" HeaderRowStyle="{StaticResource HeaderStyle}" SelectionUnit="FullRow">
<telerik:RadGridView.Columns>
<telerik:GridViewImageColumn Width="22" Header="" DataMemberBinding="{Binding IsValid}" />
<telerik:GridViewDataColumn Header="MRN" DataMemberBinding="{Binding MRN}" Width="*" />
<telerik:GridViewDataColumn Header="DOS" DataMemberBinding="{Binding DOS}" Width="*" />
<telerik:GridViewDataColumn Header="Description" DataMemberBinding="{Binding Description}" Width="*" />
<telerik:GridViewDataColumn Header="Provider" DataMemberBinding="{Binding ProviderName}" Width="*" />
<telerik:GridViewDataColumn Header="Start" DataMemberBinding="{Binding StartTime}" Width="*" />
<telerik:GridViewDataColumn Header="Stop" DataMemberBinding="{Binding StopTime}" Width="*" />
<telerik:GridViewDataColumn Header="Contents" DataMemberBinding="{Binding Contents}" Width="*" />
<telerik:GridViewColumn Header="" Width="20">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate>
<telerik:RadButton Content="..." />
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewColumn>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
<StackPanel Grid.Row="1">
<TextBlock Text="{Binding RecordListSummary}" HorizontalAlignment="Left" Margin="5" />
<TextBlock Text="{Binding CurrentItem.MRN,ElementName=gridv}" />
</StackPanel>
</Grid>
</UserControl>
Hello i have a problem, trying to edit a oRadTreeViewItem
All tree is generated by code (not binding)
RadTreeViewItem oRadTreeViewItem = new RadTreeViewItem(); oRadTreeViewItem.Header = "Name"; oRadTreeViewItem.IsEditable = true; oRadTreeViewItem.PreviewEditStarted += radTreeView_PreviewEditStarted; oRadTreeViewItem.Edited += DataViewExplorerTree_Edited; oRadTreeViewItem.EditStarted += radTreeView_EditStarted; DataViewExplorerTree.Items.Add(oRadTreeViewItem);
RadTreeViewItem oRadTreeViewItem = DataViewExplorerTree.GetItemByPath("Path of the item");
private void DataViewExplorerTree_Edited(object sender, Telerik.Windows.Controls.RadTreeViewItemEditedEventArgs e) { RadTreeViewItem targetItem = e.Source as RadTreeViewItem; // (e.Source as RadTreeViewItem).IsInEditMode = false; //(e.Source as RadTreeViewItem).Background = new SolidColorBrush(Colors.Red); } private void radTreeView_PreviewEditStarted(object sender, Telerik.Windows.Controls.RadTreeViewItemEditedEventArgs e) { RadTreeViewItem targetItem = e.Source as RadTreeViewItem; } private void radTreeView_EditStarted(object sender, Telerik.Windows.Controls.RadTreeViewItemEditedEventArgs e) { RadTreeViewItem targetItem = e.Source as RadTreeViewItem; }oRadTreeViewItem.IsInEditMode = true; or oRadTreeViewItem.BeginEdit(); (ALWAYS return false)
<telerik:RadGridView AutoGenerateColumns="False" NewRowStyle="{StaticResource NewRowStyle}" RowStyle="{StaticResource RowStyle}" Foreground="White" HorizontalGridLinesBrush="White" Margin="10,10,210,22" Name="groupGrid" SelectionMode="Single" SelectionUnit="FullRow" VerticalGridLinesBrush="White" SelectionChanged="groupGrid_SelectionChanged" CellEditEnded="groupGrid_CellEditEnding" RowIndicatorVisibility="Collapsed" ShowGroupPanel="False" ShowInsertRow="True" RowEditEnded="groupGrid_RowEditEnded">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="Task Name: " DataMemberBinding="{Binding Name}" />
<telerik:GridViewDataColumn Header="Description: " DataMemberBinding="{Binding Description}" />
<telerik:GridViewDataColumn Header="Solution: " DataMemberBinding="{Binding Solution}" />
<my:TimePickerColumn DataMemberBinding="{Binding StartTime}" Header="Start Time" TimeInterval="0:30:0"/>
<telerik:GridViewDataColumn Header="End Time: " DataMemberBinding="{Binding EndTime}" />
<telerik:GridViewDataColumn Header="Elapsed:" UniqueName="Elapsed" DataMemberBinding="{Binding ElapsedTime}" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
public class TimePickerColumn : GridViewBoundColumnBase { public TimeSpan TimeInterval { get { return (TimeSpan)GetValue(TimeIntervalProperty); } set { SetValue(TimeIntervalProperty, value); } } public static readonly DependencyProperty TimeIntervalProperty = DependencyProperty.Register("TimeInterval", typeof(TimeSpan), typeof(TimePickerColumn), new PropertyMetadata(TimeSpan.FromHours(1d))); public override FrameworkElement CreateCellEditElement(GridViewCell cell, object dataItem) { this.BindingTarget = RadTimePicker.SelectedValueProperty; RadTimePicker picker = new RadTimePicker(); picker.IsTooltipEnabled = false; picker.TimeInterval = this.TimeInterval; picker.SetBinding(this.BindingTarget, this.CreateValueBinding()); return picker; } public override object GetNewValueFromEditor(object editor) { RadTimePicker picker = editor as RadTimePicker; if (picker != null) { picker.DateTimeText = picker.SelectedTime.Value.ToString(); } return base.GetNewValueFromEditor(editor); } private Binding CreateValueBinding() { Binding valueBinding = new Binding(); valueBinding.Mode = BindingMode.TwoWay; valueBinding.NotifyOnValidationError = true; valueBinding.ValidatesOnExceptions = true; valueBinding.UpdateSourceTrigger = UpdateSourceTrigger.Explicit; valueBinding.Path = new PropertyPath(this.DataMemberBinding.Path.Path); return valueBinding; } }