Telerik Forums
UI for WPF Forum
4 answers
349 views

I am trying to bind a few ContextMenu items to the selected appointment's properties, however I can't seem to get to the DataContext of the scheduleview.

<telerik:RadMenuItem Header="Requires Nurse..." IsChecked="{Binding Menu.UIElement.SelectedAppointment.Require_Nurse}" />

I've tried RelativeSource up to the ScheduleGrid, or direct to UIElement and everything gives me the same binding expression error that Schedule_VM doesn't contain a property for Require_Nurse.

Is there any way to bind a context menu item to the appointment?  Even if I get it bound will it actually allow modifying of the property?

Brandon
Top achievements
Rank 1
 answered on 20 Feb 2017
10 answers
503 views

Hello,

I'm working on a WPF application using Prism 5 and Telerik UI for WPF R3 2016. The application loads dinamically 2 separate modules (dll) using UnityContainer and inject them in a RadDocking control as follows:

MainWindow.xaml

<Window.Resources>
        <Style TargetType="telerik:RadDocumentPane">
            <Setter Property="Header" Value="{Binding DataContext.Title}"/>
            <Setter Property="HeaderTemplate">
                <Setter.Value>
                    <DataTemplate>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition />
                                <ColumnDefinition />
                            </Grid.ColumnDefinitions>
                            <ContentControl VerticalAlignment="Center" HorizontalAlignment="Center"
                                            Margin="0,0,7,0" Content="{Binding}"/>
                            <Button Grid.Column="1" Content="x">
                                <i:Interaction.Triggers>
                                    <i:EventTrigger EventName="Click">
                                        <prism:CloseTabAction/>
                                    </i:EventTrigger>
                                </i:Interaction.Triggers>
                            </Button>

                        </Grid>
                    </DataTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <StackPanel Orientation="Horizontal">
            <Button Content="Toolbar" Command="{Binding ShowToolbarCommand}" Width="50" Height="25" HorizontalAlignment="Left"></Button>
            <Button Content="Home" Command="{Binding ShowHomeCommand}" Width="50" Height="25" HorizontalAlignment="Left"></Button>
        </StackPanel>
        <DockPanel Grid.Row="1" LastChildFill="True">
            <telerikDocking:RadDocking x:Name="Docking" Background="Transparent"
                                      BorderThickness="0">
                <telerikDocking:RadDocking.DocumentHost>
                    <telerikDocking:RadSplitContainer >
                        <telerikDocking:RadPaneGroup regions:RegionManager.RegionName="{x:Static model:RegionNames.ContentRegion}"/>
                    </telerikDocking:RadSplitContainer>
                </telerikDocking:RadDocking.DocumentHost>
                <telerikDocking:RadSplitContainer MaxWidth="400" Width="175" MinWidth="175" InitialPosition="DockedLeft">
                    <telerikDocking:RadPaneGroup>
                        <telerikDocking:RadDocumentPane CanUserClose="False" PaneHeaderVisibility="Collapsed"
                                regions:RegionManager.RegionName="{x:Static model:RegionNames.LeftRegion}">
                        </telerikDocking:RadDocumentPane>
                    </telerikDocking:RadPaneGroup>
                </telerikDocking:RadSplitContainer>
            </telerikDocking:RadDocking>
        </DockPanel>
    </Grid>

CloseTabAction.cs

public class CloseTabAction : TriggerAction<Button>
    {
        protected override void Invoke(object parameter)
        {
            var args = parameter as RoutedEventArgs;
            if (args == null)
                return;
            var tabItem = FindParent<RadPane>(args.OriginalSource as DependencyObject);
            if (tabItem == null)
                return;
            var tabControl = FindParent<RadPaneGroup>(tabItem);
            if (tabControl == null)
                return;

            IRegion region = RegionManager.GetObservableRegion(tabControl).Value;
            if (region == null)
                return;
            RemoveItemFromRegion(tabItem.Content, region);
        }

        void RemoveItemFromRegion(object item, IRegion region)
        {
            var navigationContext = new NavigationContext(region.NavigationService, null);
            if (CanRemove(item, navigationContext))
            {
                InvokeOnNavigatedFrom(item, navigationContext);
                region.Remove(item);
            }
        }

        void InvokeOnNavigatedFrom(object item, NavigationContext navigationContext)
        {
            var navigationAwareItem = item as INavigationAware;
            if (navigationAwareItem != null)
                navigationAwareItem.OnNavigatedFrom(navigationContext);
            var frameworkElement = item as FrameworkElement;
            if (frameworkElement != null)
            {
                INavigationAware navigationAwareDataContext = frameworkElement.DataContext as INavigationAware;
                if (navigationAwareDataContext != null)
                {
                    navigationAwareDataContext.OnNavigatedFrom(navigationContext);
                }
            }
        }

        bool CanRemove(object item, NavigationContext navigationContext)
        {
            bool canRemove = true;
            var confirmRequestItem = item as IConfirmNavigationRequest;
            if (confirmRequestItem != null)
            {
                confirmRequestItem.ConfirmNavigationRequest(navigationContext, result =>
                {
                    canRemove = result;
                });
            }
            var frameworkElement = item as FrameworkElement;
            if (frameworkElement != null && canRemove)
            {
                IConfirmNavigationRequest confirmRequestDataContext = frameworkElement.DataContext as IConfirmNavigationRequest;
                if (confirmRequestDataContext != null)
                {
                    confirmRequestDataContext.ConfirmNavigationRequest(navigationContext, result =>
                    {
                        canRemove = result;
                    });
                }
            }
            return canRemove;
        }

        static T FindParent<T>(DependencyObject child) where T : DependencyObject
        {
            DependencyObject parentObject = VisualTreeHelper.GetParent(child);
            if (parentObject == null)
                return null;
            var parent = parentObject as T;
            if (parent != null)
                return parent;
            return FindParent<T>(parentObject);
        }
    }

I've overrided Prism ScopedRegionNavigationContentLoader in order to allow views injections using navigation to create ScopedRegions:

public class ScopedRegionNavigationContentLoader: IRegionNavigationContentLoader
    {
        private readonly IServiceLocator serviceLocator;

        /// <summary>
        /// Initializes a new instance of the <see cref="RegionNavigationContentLoader"/> class with a service locator.
        /// </summary>
        /// <param name="serviceLocator">The service locator.</param>
        public ScopedRegionNavigationContentLoader(IServiceLocator serviceLocator)
        {
            this.serviceLocator = serviceLocator;
        }

        /// <summary>
        /// Gets the view to which the navigation request represented by <paramref name="navigationContext"/> applies.
        /// </summary>
        /// <param name="region">The region.</param>
        /// <param name="navigationContext">The context representing the navigation request.</param>
        /// <returns>
        /// The view to be the target of the navigation request.
        /// </returns>
        /// <remarks>
        /// If none of the views in the region can be the target of the navigation request, a new view
        /// is created and added to the region.
        /// </remarks>
        /// <exception cref="ArgumentException">when a new view cannot be created for the navigation request.</exception>
        public object LoadContent(IRegion region, NavigationContext navigationContext)
        {
            if (region == null) throw new ArgumentNullException("region");
            if (navigationContext == null) throw new ArgumentNullException("navigationContext");

            string candidateTargetContract = this.GetContractFromNavigationContext(navigationContext);

            var candidates = this.GetCandidatesFromRegion(region, candidateTargetContract);

            var acceptingCandidates =
                candidates.Where(
                    v =>
                    {
                        var navigationAware = v as INavigationAware;
                        if (navigationAware != null && !navigationAware.IsNavigationTarget(navigationContext))
                        {
                            return false;
                        }

                        var frameworkElement = v as FrameworkElement;
                        if (frameworkElement == null)
                        {
                            return true;
                        }

                        navigationAware = frameworkElement.DataContext as INavigationAware;
                        return navigationAware == null || navigationAware.IsNavigationTarget(navigationContext);
                    });


            var view = acceptingCandidates.FirstOrDefault();

            if (view != null)
            {
                return view;
            }

            view = this.CreateNewRegionItem(candidateTargetContract);

            region.Add(view, null, CreateRegionManagerScope(view));

            return view;
        }

        private bool CreateRegionManagerScope(object view)
        {
            bool createRegionManagerScope = false;

            var viewHasScopedRegions = view as ICreateRegionManagerScope;
            if (viewHasScopedRegions != null)
                createRegionManagerScope = viewHasScopedRegions.CreateRegionManagerScope;

            return createRegionManagerScope;
        }

        /// <summary>
        /// Provides a new item for the region based on the supplied candidate target contract name.
        /// </summary>
        /// <param name="candidateTargetContract">The target contract to build.</param>
        /// <returns>An instance of an item to put into the <see cref="IRegion"/>.</returns>
        protected virtual object CreateNewRegionItem(string candidateTargetContract)
        {
            object newRegionItem;
            try
            {           
                newRegionItem = this.serviceLocator.GetInstance<object>(candidateTargetContract);
            }
            catch (ActivationException e)
            {
                throw new InvalidOperationException(
                    string.Format(CultureInfo.CurrentCulture, "Cannot create navigation target", candidateTargetContract),
                    e);
            }
            return newRegionItem;
        }

        /// <summary>
        /// Returns the candidate TargetContract based on the <see cref="NavigationContext"/>.
        /// </summary>
        /// <param name="navigationContext">The navigation contract.</param>
        /// <returns>The candidate contract to seek within the <see cref="IRegion"/> and to use, if not found, when resolving from the container.</returns>
        protected virtual string GetContractFromNavigationContext(NavigationContext navigationContext)
        {
            if (navigationContext == null) throw new ArgumentNullException("navigationContext");

            var candidateTargetContract = UriParsingHelper.GetAbsolutePath(navigationContext.Uri);
            candidateTargetContract = candidateTargetContract.TrimStart('/');
            return candidateTargetContract;
        }

        /// <summary>
        /// Returns the set of candidates that may satisfiy this navigation request.
        /// </summary>
        /// <param name="region">The region containing items that may satisfy the navigation request.</param>
        /// <param name="candidateNavigationContract">The candidate navigation target as determined by <see cref="GetContractFromNavigationContext"/></param>
        /// <returns>An enumerable of candidate objects from the <see cref="IRegion"/></returns>
        protected virtual IEnumerable<object> GetCandidatesFromRegion(IRegion region, string candidateNavigationContract)
        {
            if (region == null) throw new ArgumentNullException("region");
            return region.Views.Where(v =>
                string.Equals(v.GetType().Name, candidateNavigationContract, StringComparison.Ordinal) ||
                string.Equals(v.GetType().FullName, candidateNavigationContract, StringComparison.Ordinal));
        }
    }

 

Everything works fine for creation / add RadPanes except Closing and Moving event.

On Close, the the exception is: An unhandled exception of type 'System.InvalidCastException' occurred in Telerik.Windows.Controls.Docking.dll

Additional information: Unable to cast object of type 'ModuleA.Views.ModuleAHomeView' to type 'Telerik.Windows.Controls.RadPane'.

but hostControl is a valid RadPaneGroup and Items collection DO contain ModuleA.Views.ModuleAHomeView

On Move,  I've got a NullReferenceExceltopn at Telerik.Windows.Controls.RadPane.OnHeaderMouseLeftButtonDown(Object sender, MouseButtonEventArgs e)

 

Any help would be highly appreciated.

Best regards,

Alin Halatiu

Alin
Top achievements
Rank 1
 answered on 20 Feb 2017
1 answer
97 views
how to increase the height of row in radscheduler
Stefan Nenchev
Telerik team
 answered on 20 Feb 2017
2 answers
293 views
Hello.
I'm looking into migrating from Google maps.
How to work with two layers (or overlays) with different projections?
For example, I need EPSG:3857 (like OpenStreetMap) and EPSG:3395 (like Yandex Maps) on one map.

In Google maps api I had to create Custom Projection and implement fromLatLngToPixel and fromPixelToLatLng, then create custom Tile Layer and implement loadTile.

Could you provide an example?
Thank you.
Massimo
Top achievements
Rank 1
 answered on 17 Feb 2017
1 answer
84 views

Hi Telerik,

We've implemented the drag/drop feature for the RadGridView available in the code samples (using the RowReorderBehavior, etc).

Is there a way to highlight the rows that were dropped (i.e. GVR background=Orange)? We've made several attempts to no avail - is there a way to do this without binding to a property in the ViewModel?

 

Kind regards

Yoan
Telerik team
 answered on 17 Feb 2017
8 answers
434 views
I'm attempting to add a basic legend to go along with my dynamically generated line series:
<telerik:RadCartesianChart.SeriesProvider>
   <telerik:ChartSeriesProvider Source="{Binding VisiblePortfolios}">
      <telerik:ChartSeriesProvider.SeriesDescriptors>
         <telerik:CategoricalSeriesDescriptor ItemsSourcePath="EquityCurve" ValuePath="Value" CategoryPath="Date">
            <telerik:CategoricalSeriesDescriptor.Style>
               <Style TargetType="telerik:LineSeries">
                  <Setter Property="StrokeThickness" Value="2"/>
                  <Setter Property="LegendSettings">
                     <Setter.Value>
                        <telerik:SeriesLegendSettings Title="{Binding Name}"/>
                     </Setter.Value>
                  </Setter>
               </Style>
            </telerik:CategoricalSeriesDescriptor.Style>
         </telerik:CategoricalSeriesDescriptor>
      </telerik:ChartSeriesProvider.SeriesDescriptors>
   </telerik:ChartSeriesProvider>
</telerik:RadCartesianChart.SeriesProvider>

However, this error occurs when I debug:

System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=DataContext.Name; DataItem=null; target element is 'SeriesLegendSettings' (HashCode=10926182); target property is 'Title' (type 'String')

And the legend does not appear at all. Any assistance is greatly appreciated.
Martin Ivanov
Telerik team
 answered on 17 Feb 2017
1 answer
41 views

hi

i am trying to develop with telerik,and i find this issue

example

there is some data in the gridview like 

id   name   birthday

1    lee    1984-01-01

2    chiang  2000-05-03

3    tom    1986-03-03

      jim    1996-12-01

i resort by name column then i get the table below

id   name   birthday
2    chiang  2000-05-03
      jim    1996-12-01
1    lee    1984-01-01
3    tom    1986-03-03

int index = -1;

 

 

foreach(gridviewrowinfo row in rows)

{

  if(row.cells["name"]=="lee")

    {index=row.index;}  //here we can get the index = 2

}

if(index>-1)

{

  rows[index].cells["birthday"]="1999-03-05";

}

then we get the table below:

id   name   birthday
2    chiang  2000-05-03
      jim    1996-12-01
1    lee    1984-01-01
3    tom    1999-03-05

 

have anyone get the mind that i mean?

when after the foreach we get a index after resorted and when we use rows[index] then the gridview point to the line before it is resorted!

so does it a bug?when will you fix it?

Stefan
Telerik team
 answered on 17 Feb 2017
1 answer
106 views

I am trying to style the gridview and I am running into an error which I can not figure out.

I have a 'templating' xaml and added and GridViewRow to it. Then in Blend i used RMB -> template -> Edit a copy.

which results in the following

<Style TargetType="{x:Type telerik:GridViewRow}">
        <Setter Property="IsTabStop" Value="False"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type telerik:GridViewRow}">
                    <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="FocusStates">
                                <VisualState x:Name="Unfocused"/>
                                <VisualState x:Name="Focused">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="NavigatorIndicator">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="SelectionStates">
                                <VisualState x:Name="Unselected"/>
                                <VisualState x:Name="SelectedUnfocused">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Background_Over">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="Background_Over">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <SolidColorBrush Color="#FFC8C8C8"/>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="BackgroundInner_Over">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <SolidColorBrush Color="#FFF0F0F0"/>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="BackgroundInner_Over">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <SolidColorBrush Color="White"/>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal"/>
                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Background_Over">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Selected">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Background_Selected">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="NavigatorIndicatorBackground">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                                        <GradientStop Color="White" Offset="0"/>
                                                        <GradientStop Color="#FFE4E4E4" Offset="1"/>
                                                    </LinearGradientBrush>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="ValueStates">
                                <VisualState x:Name="RowValid"/>
                                <VisualState x:Name="RowInvalid">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Background_Invalid">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="ErrorIndicator">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="EditStates">
                                <VisualState x:Name="ReadOnlyMode"/>
                                <VisualState x:Name="EditMode">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="EditIndicator">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="InvalidEditMode">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Background_Invalid">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="InvalidEditableIndicator">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <Visibility>Visible</Visibility>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <telerik:SelectiveScrollingGrid x:Name="grid">
                            <telerik:SelectiveScrollingGrid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="*"/>
                            </telerik:SelectiveScrollingGrid.ColumnDefinitions>
                            <telerik:SelectiveScrollingGrid.RowDefinitions>
                                <RowDefinition Height="*"/>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                            </telerik:SelectiveScrollingGrid.RowDefinitions>
                            <Border x:Name="SelectionBackground" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" Grid.Column="2" Margin="{TemplateBinding Margin}" Padding="{TemplateBinding Padding}" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                            <Border x:Name="Background_Over" BorderBrush="#FFFFC92B" BorderThickness="1" Grid.ColumnSpan="2" Grid.Column="2" CornerRadius="1" Margin="1,1,1,2" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True" Visibility="Collapsed">
                                <Border x:Name="BackgroundInner_Over" BorderBrush="White" BorderThickness="1">
                                    <Border.Background>
                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                            <GradientStop Color="#FFFFFBA3" Offset="1"/>
                                            <GradientStop Color="#FFFFFBDA" Offset="0"/>
                                        </LinearGradientBrush>
                                    </Border.Background>
                                </Border>
                            </Border>
                            <Border x:Name="Background_Selected" BorderBrush="#FFFFC92B" BorderThickness="1" Grid.ColumnSpan="2" Grid.Column="2" CornerRadius="1" Margin="1,1,1,2" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True" Visibility="Collapsed">
                                <Border BorderBrush="White" BorderThickness="1">
                                    <Border.Background>
                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                            <GradientStop Color="#FFFCE79F" Offset="1"/>
                                            <GradientStop Color="#FFFDD3A8"/>
                                        </LinearGradientBrush>
                                    </Border.Background>
                                </Border>
                            </Border>
                            <Border x:Name="Background_Invalid" BorderBrush="#FFCE7D7D" BorderThickness="1" Grid.ColumnSpan="2" Grid.Column="2" CornerRadius="1" Margin="1,1,1,2" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True" Visibility="Collapsed">
                                <Border BorderThickness="1">
                                    <Border.BorderBrush>
                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                            <GradientStop Color="#FFEBF4FD"/>
                                            <GradientStop Color="#FFDBEAFD" Offset="1"/>
                                        </LinearGradientBrush>
                                    </Border.BorderBrush>
                                    <Border.Background>
                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                            <GradientStop Color="#FFFCDCDC"/>
                                            <GradientStop Color="#FFFCC1C1" Offset="1"/>
                                        </LinearGradientBrush>
                                    </Border.Background>
                                </Border>
                            </Border>
                            <telerik:GridViewToggleButton x:Name="PART_HierarchyExpandButton" Grid.Column="2" IsHitTestVisible="{Binding IsExpandable, RelativeSource={RelativeSource TemplatedParent}}" IsTabStop="{TemplateBinding IsTabStop}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Width="25">
                                <telerik:GridViewToggleButton.Opacity>
                                    <Binding Path="IsExpandable" RelativeSource="{RelativeSource TemplatedParent}">
                                        <Binding.Converter>
                                            <telerik:BooleanToOpacityConverter/>
                                        </Binding.Converter>
                                    </Binding>
                                </telerik:GridViewToggleButton.Opacity>
                                <telerik:StyleManager.Theme>
                                    <telerik:Office_BlackTheme/>
                                </telerik:StyleManager.Theme>
                                <telerik:GridViewToggleButton.Template>
                                    <ControlTemplate TargetType="{x:Type telerik:GridViewToggleButton}">
                                        <Border Background="Transparent" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
                                            <VisualStateManager.VisualStateGroups>
                                                <VisualStateGroup x:Name="CommonStates">
                                                    <VisualState x:Name="Normal"/>
                                                    <VisualState x:Name="MouseOver"/>
                                                    <VisualState x:Name="Disabled"/>
                                                </VisualStateGroup>
                                                <VisualStateGroup x:Name="CheckStates">
                                                    <VisualState x:Name="Checked">
                                                        <Storyboard>
                                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="plus">
                                                                <DiscreteDoubleKeyFrame KeyTime="0" Value="0"/>
                                                            </DoubleAnimationUsingKeyFrames>
                                                            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="minus">
                                                                <DiscreteDoubleKeyFrame KeyTime="0" Value="1"/>
                                                            </DoubleAnimationUsingKeyFrames>
                                                        </Storyboard>
                                                    </VisualState>
                                                    <VisualState x:Name="Unchecked"/>
                                                </VisualStateGroup>
                                                <VisualStateGroup x:Name="FocusStates">
                                                    <VisualState x:Name="Focused"/>
                                                    <VisualState x:Name="Unfocused"/>
                                                </VisualStateGroup>
                                            </VisualStateManager.VisualStateGroups>
                                            <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Height="9" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Width="9">
                                                <Grid>
                                                    <Path x:Name="plus" Data="M1.937,0L2.937,0 2.937,2.0209999 5,2.0209999 5,3.0209999 2.937,3.0209999 2.937,5 1.937,5 1.937,3.0209999 0,3.0209999 0,2.0209999 1.937,2.0209999z" Fill="Black" Height="5" Margin="{TemplateBinding Padding}" Stretch="Fill" Stroke="{x:Null}" Width="5"/>
                                                    <Rectangle x:Name="minus" Fill="Black" HorizontalAlignment="Center" Height="1" Margin="{TemplateBinding Padding}" Opacity="0" RadiusY="0" RadiusX="0" Stroke="{x:Null}" VerticalAlignment="Center" Width="5"/>
                                                </Grid>
                                            </Border>
                                        </Border>
                                    </ControlTemplate>
                                </telerik:GridViewToggleButton.Template>
                                <telerik:GridViewToggleButton.Visibility>
                                    <Binding Path="HasHierarchy" RelativeSource="{RelativeSource TemplatedParent}">
                                        <Binding.Converter>
                                            <telerik:BooleanToVisibilityConverter/>
                                        </Binding.Converter>
                                    </Binding>
                                </telerik:GridViewToggleButton.Visibility>
                            </telerik:GridViewToggleButton>
                            <Border Grid.Column="2" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
                                <Border.Visibility>
                                    <Binding Path="HasHierarchy" RelativeSource="{RelativeSource TemplatedParent}">
                                        <Binding.Converter>
                                            <telerik:BooleanToVisibilityConverter/>
                                        </Binding.Converter>
                                    </Binding>
                                </Border.Visibility>
                            </Border>
                            <telerik:DataCellsPresenter x:Name="PART_DataCellsPresenter" Grid.Column="3" IsTabStop="False">
                                <telerik:StyleManager.Theme>
                                    <telerik:Office_BlackTheme/>
                                </telerik:StyleManager.Theme>
                            </telerik:DataCellsPresenter>
                            <Border x:Name="PART_RowBorder" BorderBrush="{TemplateBinding HorizontalGridLinesBrush}" Grid.ColumnSpan="4" Grid.Column="1" Grid.RowSpan="4" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True" VerticalAlignment="Bottom">
                                <Border.BorderThickness>
                                    <Binding ConverterParameter="Bottom" Path="HorizontalGridLinesWidth" RelativeSource="{RelativeSource TemplatedParent}">
                                        <Binding.Converter>
                                            <telerik:GridLineWidthToThicknessConverter/>
                                        </Binding.Converter>
                                    </Binding>
                                </Border.BorderThickness>
                            </Border>
                            <Border BorderBrush="#FF848484" BorderThickness="0,1" Background="#FFBBBBBB" Grid.ColumnSpan="2" Grid.Column="2" Padding="6" Grid.Row="2" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True">
                                <Border.Visibility>
                                    <Binding Path="IsExpanded" RelativeSource="{RelativeSource TemplatedParent}">
                                        <Binding.Converter>
                                            <telerik:BooleanToVisibilityConverter/>
                                        </Binding.Converter>
                                    </Binding>
                                </Border.Visibility>
                                <ContentPresenter x:Name="PART_HierarchyChildPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True"/>
                            </Border>
                            <telerik:DetailsPresenter x:Name="PART_DetailsPresenter" Grid.ColumnSpan="2" Grid.Column="2" DetailsProvider="{TemplateBinding DetailsProvider}" IsTabStop="False" Grid.Row="1" telerik:SelectiveScrollingGrid.SelectiveScrollingClip="True" Visibility="Collapsed">
                                <telerik:StyleManager.Theme>
                                    <telerik:Office_BlackTheme/>
                                </telerik:StyleManager.Theme>
                            </telerik:DetailsPresenter>
                            <telerik:IndentPresenter x:Name="PART_IndentPresenter" Grid.Column="1" IsTabStop="False" IndentLevel="{TemplateBinding IndentLevel}" Grid.RowSpan="4" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
                                <telerik:StyleManager.Theme>
                                    <telerik:Office_BlackTheme/>
                                </telerik:StyleManager.Theme>
                            </telerik:IndentPresenter>
                            <Border x:Name="PART_IndicatorPresenter" BorderBrush="#FF848484" BorderThickness="0,0,1,1" Grid.Column="0" Grid.RowSpan="3" telerik:SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{TemplateBinding RowIndicatorVisibility}" VerticalAlignment="Stretch" Width="25">
                                <Grid>
                                    <Border x:Name="NavigatorIndicatorBackground" BorderBrush="White" BorderThickness="1" Background="#FFE4E4E4">
                                        <Grid x:Name="GridIndicatorPresenter">
                                            <Grid x:Name="NavigatorIndicator" HorizontalAlignment="Center" Height="11" Visibility="Collapsed" VerticalAlignment="Center" Width="11">
                                                <Path Data="F1M32.0234,6.66669L24.2923,0.0248413 28.3697,0.0248413 32,3.14362 36.1492,6.70819 32,10.2728 28.4664,13.3085 24.2923,13.3085 32.0234,6.66669z" Fill="#FF848484" HorizontalAlignment="Center" Height="8" Margin="0" Stretch="Fill" VerticalAlignment="Center" Width="8"/>
                                            </Grid>
                                            <Grid x:Name="EditIndicator" HorizontalAlignment="Center" Height="10" Visibility="Collapsed" VerticalAlignment="Center" Width="16">
                                                <Path Data="M14,9L15,9 15,10 14,10z M1,9L2,9 2,10 1,10z M15,8L16,8 16,9 15,9z M0,8L1,8 1,9 0,9z M15,1L16,1 16,2 15,2z M0,1L1,1 1,2 0,2z M14,0L15,0 15,1 14,1z M1,0L2,0 2,1 1,1z" Fill="#7F848484" Stretch="Fill"/>
                                                <Path Data="M0.99999994,6.9999995L2,6.9999995 3,6.9999995 4,6.9999995 5,6.9999995 6,6.9999995 7,6.9999995 8,6.9999995 9,6.9999995 10,6.9999995 11,6.9999995 12,6.9999995 13,6.9999995 13,7.9999995 12,7.9999995 11,7.9999995 10,7.9999995 9,7.9999995 8,7.9999995 7,7.9999995 6,7.9999995 5,7.9999995 4,7.9999995 3,7.9999995 2,7.9999995 0.99999994,7.9999995z M13,0.99999994L14,0.99999994 14,1.9999999 14,2.9999995 14,3.9999995 14,4.9999995 14,5.9999995 14,6.9999995 13,6.9999995 13,5.9999995 13,4.9999995 13,3.9999995 13,2.9999995 13,1.9999999z M0,0.99999994L0.99999994,0.99999994 0.99999994,1.9999999 0.99999994,2.9999995 0.99999994,3.9999995 0.99999994,4.9999995 0.99999994,5.9999995 0.99999994,6.9999995 0,6.9999995 0,5.9999995 0,4.9999995 0,3.9999995 0,2.9999995 0,1.9999999z M11,0L12,0 13,0 13,0.99999994 12,0.99999994 11,0.99999994 10,0.99999994 9,0.99999994 8,0.99999994 7,0.99999994 6,0.99999994 5,0.99999994 4,0.99999994 3,0.99999994 2,0.99999994 0.99999994,0.99999994 0.99999994,2.3841858E-07 2,2.3841858E-07 3,2.3841858E-07 4,2.3841858E-07 5,2.3841858E-07 6,2.3841858E-07 7,2.3841858E-07 8,2.3841858E-07 9,2.3841858E-07 10,2.3841858E-07z" Fill="#FFCBCBCB" Margin="1" Stretch="Fill"/>
                                                <Path Data="M2,9L3,9 4,9 5,9 6,9 7,9 8,9 9,9 10,9 11,9 12,9 13,9 14,9 14,10 13,10 12,10 11,10 10,10 9,10 8,10 7,10 6,10 5,10 4,10 3,10 2,10z M14,8L15,8 15,9 14,9z M1,8L2,8 2,9 1,9z M15,2L16,2 16,3 16,4 16,5 16,6 16,7 16,8 15,8 15,7 15,6 15,5 15,4 15,3z M3,2L4,2 5,2 6,2 6,3 5,3 5,4 5,5 5,6 5,7 6,7 6,8 5,8 4,8 3,8 3,7 4,7 4,6 4,5 4,4 4,3 3,3z M0,2L1,2 1,3 1,4 1,5 1,6 1,7 1,8 0,8 0,7 0,6 0,5 0,4 0,3z M14,1L15,1 15,2 14,2z M1,1L2,1 2,2 1,2z M2,0L3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 14,1 13,1 12,1 11,1 10,1 9,1 8,1 7,1 6,1 5,1 4,1 3,1 2,1z" Fill="#FF848484" Stretch="Fill"/>
                                                <Path Data="M4,0L5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 12,1 12,2 12,3 12,4 12,5.0000001 12,6 11,6 10,6 9,6 8,6 7,6 6,6 5,6 4,6 4,5.0000001 3,5.0000001 3,4 3,3 3,2 3,1 4,1z M0,0L1,0 1,1 2,1 2,2 2,3 2,4 2,5.0000001 1,5.0000001 1,6 0,6 0,5.0000001 0,4 0,3 0,2 0,1z" Fill="White" Margin="2" Stretch="Fill"/>
                                            </Grid>
                                            <Grid x:Name="InvalidEditableIndicator" Background="Transparent" Visibility="Collapsed">
                                                <Grid.ToolTip>
                                                    <ToolTip Content="{TemplateBinding Errors}" Placement="Bottom">
                                                        <ToolTip.Template>
                                                            <ControlTemplate TargetType="{x:Type ToolTip}">
                                                                <Grid x:Name="Root" Margin="5,0" Opacity="0" RenderTransformOrigin="0,0">
                                                                    <Grid.RenderTransform>
                                                                        <TranslateTransform X="-25"/>
                                                                    </Grid.RenderTransform>
                                                                    <VisualStateManager.VisualStateGroups>
                                                                        <VisualStateGroup x:Name="OpenStates">
                                                                            <VisualStateGroup.Transitions>
                                                                                <VisualTransition From="{x:Null}" GeneratedDuration="0" GeneratedEasingFunction="{x:Null}" Storyboard="{x:Null}" To="{x:Null}"/>
                                                                                <VisualTransition From="{x:Null}" GeneratedDuration="0:0:0.2" GeneratedEasingFunction="{x:Null}" To="Open">
                                                                                    <Storyboard>
                                                                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="X" Storyboard.TargetName="xform">
                                                                                            <SplineDoubleKeyFrame KeyTime="0:0:0.2" Value="0"/>
                                                                                        </DoubleAnimationUsingKeyFrames>
                                                                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Root">
                                                                                            <SplineDoubleKeyFrame KeyTime="0:0:0.2" Value="1"/>
                                                                                        </DoubleAnimationUsingKeyFrames>
                                                                                    </Storyboard>
                                                                                </VisualTransition>
                                                                            </VisualStateGroup.Transitions>
                                                                            <VisualState x:Name="Closed">
                                                                                <Storyboard>
                                                                                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Root">
                                                                                        <SplineDoubleKeyFrame KeyTime="0" Value="0"/>
                                                                                    </DoubleAnimationUsingKeyFrames>
                                                                                </Storyboard>
                                                                            </VisualState>
                                                                            <VisualState x:Name="Open">
                                                                                <Storyboard>
                                                                                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="X" Storyboard.TargetName="xform">
                                                                                        <SplineDoubleKeyFrame KeyTime="0" Value="0"/>
                                                                                    </DoubleAnimationUsingKeyFrames>
                                                                                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Root">
                                                                                        <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                                                                    </DoubleAnimationUsingKeyFrames>
                                                                                </Storyboard>
                                                                            </VisualState>
                                                                        </VisualStateGroup>
                                                                    </VisualStateManager.VisualStateGroups>
                                                                    <ItemsControl>
                                                                        <ItemsControl.ItemsPanel>
                                                                            <ItemsPanelTemplate>
                                                                                <StackPanel IsItemsHost="True"/>
                                                                            </ItemsPanelTemplate>
                                                                        </ItemsControl.ItemsPanel>
                                                                        <ItemsControl.ItemTemplate>
                                                                            <DataTemplate>
                                                                                <Border BorderBrush="#FFDC000C" BorderThickness="1" CornerRadius="1" MinHeight="22">
                                                                                    <Border.Background>
                                                                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                                                                            <GradientStop Color="#FFFF424C" Offset="1"/>
                                                                                            <GradientStop Color="#FFC92931"/>
                                                                                        </LinearGradientBrush>
                                                                                    </Border.Background>
                                                                                    <Border BorderBrush="White" BorderThickness="1">
                                                                                        <TextBlock Foreground="White" MaxWidth="250" Margin="4,1" TextWrapping="Wrap" Text="{Binding}"/>
                                                                                    </Border>
                                                                                </Border>
                                                                            </DataTemplate>
                                                                        </ItemsControl.ItemTemplate>
                                                                    </ItemsControl>
                                                                </Grid>
                                                            </ControlTemplate>
                                                        </ToolTip.Template>
                                                    </ToolTip>
                                                </Grid.ToolTip>
                                                <Grid HorizontalAlignment="Center" Height="10" VerticalAlignment="Center" Width="16">
                                                    <Path Data="M14,9L15,9 15,10 14,10z M1,9L2,9 2,10 1,10z M15,8L16,8 16,9 15,9z M0,8L1,8 1,9 0,9z M15,1L16,1 16,2 15,2z M0,1L1,1 1,2 0,2z M14,0L15,0 15,1 14,1z M1,0L2,0 2,1 1,1z" Fill="#7FFD0000" Stretch="Fill"/>
                                                    <Path Data="M0.99999994,6.9999995L2,6.9999995 3,6.9999995 4,6.9999995 5,6.9999995 6,6.9999995 7,6.9999995 8,6.9999995 9,6.9999995 10,6.9999995 11,6.9999995 12,6.9999995 13,6.9999995 13,7.9999995 12,7.9999995 11,7.9999995 10,7.9999995 9,7.9999995 8,7.9999995 7,7.9999995 6,7.9999995 5,7.9999995 4,7.9999995 3,7.9999995 2,7.9999995 0.99999994,7.9999995z M13,0.99999994L14,0.99999994 14,1.9999999 14,2.9999995 14,3.9999995 14,4.9999995 14,5.9999995 14,6.9999995 13,6.9999995 13,5.9999995 13,4.9999995 13,3.9999995 13,2.9999995 13,1.9999999z M0,0.99999994L0.99999994,0.99999994 0.99999994,1.9999999 0.99999994,2.9999995 0.99999994,3.9999995 0.99999994,4.9999995 0.99999994,5.9999995 0.99999994,6.9999995 0,6.9999995 0,5.9999995 0,4.9999995 0,3.9999995 0,2.9999995 0,1.9999999z M11,0L12,0 13,0 13,0.99999994 12,0.99999994 11,0.99999994 10,0.99999994 9,0.99999994 8,0.99999994 7,0.99999994 6,0.99999994 5,0.99999994 4,0.99999994 3,0.99999994 2,0.99999994 0.99999994,0.99999994 0.99999994,2.3841858E-07 2,2.3841858E-07 3,2.3841858E-07 4,2.3841858E-07 5,2.3841858E-07 6,2.3841858E-07 7,2.3841858E-07 8,2.3841858E-07 9,2.3841858E-07 10,2.3841858E-07z" Fill="#FFFCC1C1" Margin="1" Stretch="Fill"/>
                                                    <Path Data="M2,9L3,9 4,9 5,9 6,9 7,9 8,9 9,9 10,9 11,9 12,9 13,9 14,9 14,10 13,10 12,10 11,10 10,10 9,10 8,10 7,10 6,10 5,10 4,10 3,10 2,10z M14,8L15,8 15,9 14,9z M1,8L2,8 2,9 1,9z M15,2L16,2 16,3 16,4 16,5 16,6 16,7 16,8 15,8 15,7 15,6 15,5 15,4 15,3z M3,2L4,2 5,2 6,2 6,3 5,3 5,4 5,5 5,6 5,7 6,7 6,8 5,8 4,8 3,8 3,7 4,7 4,6 4,5 4,4 4,3 3,3z M0,2L1,2 1,3 1,4 1,5 1,6 1,7 1,8 0,8 0,7 0,6 0,5 0,4 0,3z M14,1L15,1 15,2 14,2z M1,1L2,1 2,2 1,2z M2,0L3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 14,1 13,1 12,1 11,1 10,1 9,1 8,1 7,1 6,1 5,1 4,1 3,1 2,1z" Fill="Red" Stretch="Fill"/>
                                                    <Path Data="M4,0L5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 12,1 12,2 12,3 12,4 12,5.0000001 12,6 11,6 10,6 9,6 8,6 7,6 6,6 5,6 4,6 4,5.0000001 3,5.0000001 3,4 3,3 3,2 3,1 4,1z M0,0L1,0 1,1 2,1 2,2 2,3 2,4 2,5.0000001 1,5.0000001 1,6 0,6 0,5.0000001 0,4 0,3 0,2 0,1z" Fill="White" Margin="2" Stretch="Fill"/>
                                                </Grid>
                                            </Grid>
                                            <Grid x:Name="ErrorIndicator" HorizontalAlignment="Center" Height="16" Visibility="Collapsed" VerticalAlignment="Center" Width="16">
                                                <Grid.ToolTip>
                                                    <ToolTip x:Name="validationTooltip" Content="{TemplateBinding Errors}" Placement="Bottom">
                                                        <ToolTip.Template>
                                                            <ControlTemplate TargetType="{x:Type ToolTip}">
                                                                <Grid x:Name="Root" Margin="5,0" Opacity="0" RenderTransformOrigin="0,0">
                                                                    <Grid.RenderTransform>
                                                                        <TranslateTransform X="-25"/>
                                                                    </Grid.RenderTransform>
                                                                    <VisualStateManager.VisualStateGroups>
                                                                        <VisualStateGroup x:Name="OpenStates">
                                                                            <VisualStateGroup.Transitions>
                                                                                <VisualTransition From="{x:Null}" GeneratedDuration="0" GeneratedEasingFunction="{x:Null}" Storyboard="{x:Null}" To="{x:Null}"/>
                                                                                <VisualTransition From="{x:Null}" GeneratedDuration="0:0:0.2" GeneratedEasingFunction="{x:Null}" To="Open">
                                                                                    <Storyboard>
                                                                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="X" Storyboard.TargetName="xform">
                                                                                            <SplineDoubleKeyFrame KeyTime="0:0:0.2" Value="0"/>
                                                                                        </DoubleAnimationUsingKeyFrames>
                                                                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Root">
                                                                                            <SplineDoubleKeyFrame KeyTime="0:0:0.2" Value="1"/>
                                                                                        </DoubleAnimationUsingKeyFrames>
                                                                                    </Storyboard>
                                                                                </VisualTransition>
                                                                            </VisualStateGroup.Transitions>
                                                                            <VisualState x:Name="Closed">
                                                                                <Storyboard>
                                                                                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Root">
                                                                                        <SplineDoubleKeyFrame KeyTime="0" Value="0"/>
                                                                                    </DoubleAnimationUsingKeyFrames>
                                                                                </Storyboard>
                                                                            </VisualState>
                                                                            <VisualState x:Name="Open">
                                                                                <Storyboard>
                                                                                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="X" Storyboard.TargetName="xform">
                                                                                        <SplineDoubleKeyFrame KeyTime="0" Value="0"/>
                                                                                    </DoubleAnimationUsingKeyFrames>
                                                                                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="Root">
                                                                                        <SplineDoubleKeyFrame KeyTime="0" Value="1"/>
                                                                                    </DoubleAnimationUsingKeyFrames>
                                                                                </Storyboard>
                                                                            </VisualState>
                                                                        </VisualStateGroup>
                                                                    </VisualStateManager.VisualStateGroups>
                                                                    <ItemsControl>
                                                                        <ItemsControl.ItemsPanel>
                                                                            <ItemsPanelTemplate>
                                                                                <StackPanel IsItemsHost="True"/>
                                                                            </ItemsPanelTemplate>
                                                                        </ItemsControl.ItemsPanel>
                                                                        <ItemsControl.ItemTemplate>
                                                                            <DataTemplate>
                                                                                <Border BorderBrush="#FFDC000C" BorderThickness="1" CornerRadius="1" MinHeight="22">
                                                                                    <Border.Background>
                                                                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                                                                            <GradientStop Color="#FFFF424C" Offset="1"/>
                                                                                            <GradientStop Color="#FFC92931"/>
                                                                                        </LinearGradientBrush>
                                                                                    </Border.Background>
                                                                                    <Border BorderBrush="White" BorderThickness="1">
                                                                                        <TextBlock Foreground="White" MaxWidth="250" Margin="4,1" TextWrapping="Wrap" Text="{Binding}"/>
                                                                                    </Border>
                                                                                </Border>
                                                                            </DataTemplate>
                                                                        </ItemsControl.ItemTemplate>
                                                                    </ItemsControl>
                                                                </Grid>
                                                            </ControlTemplate>
                                                        </ToolTip.Template>
                                                    </ToolTip>
                                                </Grid.ToolTip>
                                                <Path Data="M3,12.999999L4,12.999999 5,12.999999 6,12.999999 7,12.999999 8,12.999999 9,12.999999 10,12.999999 11,12.999999 11,13.999999 10,13.999999 9,13.999999 8,13.999999 7,13.999999 6,13.999999 5,13.999999 4,13.999999 3,13.999999z M11,11.999999L12,11.999999 12,12.999999 11,12.999999z M2.0000001,11.999999L3,11.999999 3,12.999999 2.0000001,12.999999z M12,10.999999L13,10.999999 13,11.999999 12,11.999999z M1,10.999999L2.0000001,10.999999 2.0000001,11.999999 1,11.999999z M13,2.9999992L14,2.9999992 14,3.9999992 14,4.9999992 14,5.9999992 14,6.9999992 14,7.9999992 14,8.9999992 14,9.9999992 14,10.999999 13,10.999999 13,9.9999992 13,8.9999992 13,7.9999992 13,6.9999992 13,5.9999992 13,4.9999992 13,3.9999992z M0,2.9999992L1,2.9999992 1,3.9999992 1,4.9999992 1,5.9999992 1,6.9999992 1,7.9999992 1,8.9999992 1,9.9999992 1,10.999999 0,10.999999 0,9.9999992 0,8.9999992 0,7.9999992 0,6.9999992 0,5.9999992 0,4.9999992 0,3.9999992z M12,1.9999999L13,1.9999999 13,2.9999992 12,2.9999992z M1,1.9999999L2.0000001,1.9999999 2.0000001,2.9999992 1,2.9999992z M11,0.99999994L12,0.99999994 12,1.9999999 11,1.9999999z M2.0000001,0.99999994L2.9999998,0.99999994 2.9999998,1.9999999 2.0000001,1.9999999z M2.9999998,0L3.9999998,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 11,0.99999994 10,0.99999994 9,0.99999994 8,0.99999994 7,0.99999994 6,0.99999994 5,0.99999994 3.9999998,0.99999994 2.9999998,0.99999994z" Margin="1" Stretch="Fill">
                                                    <Path.Fill>
                                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                                            <GradientStop Color="#FFFC9999" Offset="0"/>
                                                            <GradientStop Color="#FFC26666" Offset="1"/>
                                                        </LinearGradientBrush>
                                                    </Path.Fill>
                                                </Path>
                                                <Path Data="M1.4901161E-07,8L1.0000001,8 2.0000002,8 2.0000002,9 2.0000002,10 1.0000003,10 1.0000003,9 1.0000001,10 1.4901161E-07,10 1.4901161E-07,9z M1.4901161E-07,0L1.0000001,0 2.0000002,0 2.0000002,1 2.0000002,2 2.0000002,3 2.0000002,4.0000001 2.0000002,5 2.0000002,5.9999999 2.0000002,7 1.0000001,7 1.4901161E-07,7 1.4901161E-07,5.9999999 1.4901161E-07,5 1.4901161E-07,4.0000001 1.4901161E-07,3 1.4901161E-07,2 0,1z" Fill="White" Margin="7,3" Stretch="Fill"/>
                                                <Path Data="M4,15L5,15 6,15 7,15 8,15 9,15 10,15 11,15 12,15 12,16 11,16 10,16 9,16 8,16 7,16 6,16 5,16 4,16z M12,14L13,14 13,15 12,15z M3,14L4,14 4,15 3,15z M13,13L14,13 14,14 13,14z M2,13L3,13 3,14 2,14z M14,12L15,12 15,13 14,13z M1,12L2,12 2,13 1,13z M7,11L7,12 7,13 8,13 9,13 9,12 9,11 8,11z M15,4L16,4 16,5 16,6 16,7 16,8 16,9 16,10 16,11 16,12 15,12 15,11 15,10 15,9 15,8 15,7 15,6 15,5z M0,4L1,4 1,5 1,6 1,7 1,8 1,9 1,10 1,11 1,12 0,12 0,11 0,10 0,9 0,8 0,7 0,6 0,5z M14,3L15,3 15,4 14,4z M7,3L7,4 7,5 7,6 7,7 7,8 7,9 7,10 8,10 9,10 9,9 9,8 9,7 9,6 9,5 9,4 9,3 8,3z M1,3L2,3 2,4 1,4z M13,2L14,2 14,3 13,3z M4,2L5,2 6,2 7,2 8,2 9,2 10,2 11,2 12,2 12,3 13,3 13,4 14,4 14,5 14,6 14,7 14,8 14,9 14,10 14,11 14,12 13,12 13,13 12,13 12,14 11,14 10,14 9,14 8,14 7,14 6,14 5,14 4,14 4,13 3,13 3,12 2,12 2,11 2,10 2,9 2,8 2,7 2,6 2,5 2,4 3,4 3,3 4,3z M2,2L3,2 3,3 2,3z M12,1L13,1 13,2 12,2z M3,1L4,1 4,2 3,2z M4,0L5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 12,1 11,1 10,1 9,1 8,1 7,1 6,1 5,1 4,1z" Stretch="Fill">
                                                    <Path.Fill>
                                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                                            <GradientStop Color="Red" Offset="0"/>
                                                            <GradientStop Color="#FF990000" Offset="1"/>
                                                        </LinearGradientBrush>
                                                    </Path.Fill>
                                                </Path>
                                            </Grid>
                                            <Border x:Name="PART_RowResizer" Background="Transparent" Cursor="SizeNS" Height="2" VerticalAlignment="Bottom"/>
                                        </Grid>
                                    </Border>
                                    <telerik:GridViewPinButton x:Name="PinnedRowPresenter" Background="#FFE4E4E4" IsBackgroundVisible="True" InnerCornerRadius="0" telerik:TouchManager.TouchMode="None" Visibility="Collapsed"/>
                                </Grid>
                            </Border>
                        </telerik:SelectiveScrollingGrid>
                    </Border>
                    <ControlTemplate.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding IsEnabled, ElementName=PinnedRowPresenter}" Value="True"/>
                                <Condition Binding="{Binding IsMouseOver, ElementName=PART_IndicatorPresenter}" Value="True"/>
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Visibility" TargetName="GridIndicatorPresenter" Value="Collapsed"/>
                            <Setter Property="Visibility" TargetName="PinnedRowPresenter" Value="Visible"/>
                        </MultiDataTrigger>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding IsPinned, RelativeSource={RelativeSource Self}}" Value="True"/>
                                <Condition Binding="{Binding IsEnabled, ElementName=PinnedRowPresenter}" Value="True"/>
                            </MultiDataTrigger.Conditions>
                            <Setter Property="Visibility" TargetName="GridIndicatorPresenter" Value="Collapsed"/>
                            <Setter Property="Visibility" TargetName="PinnedRowPresenter" Value="Visible"/>
                        </MultiDataTrigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="Background" Value="White"/>
        <Setter Property="BorderBrush" Value="#FFCBCBCB"/>
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="AllowDrop" Value="True"/>
        <Setter Property="FontWeight" Value="Normal"/>
        <Setter Property="VerticalContentAlignment" Value="Stretch"/>
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
        <Setter Property="Padding" Value="0"/>
        <Setter Property="SnapsToDevicePixels" Value="True"/>
    </Style>

 

If I now run my application it looks the same as before, In the grid a add a row that has validation errors. If I hover over the error indicator, I get an error saying it is missing 'xform'.

So I edited a part

Before:

<Grid.RenderTransform>
    <TranslateTransform X="-25"/>
</Grid.RenderTransform>

After:

<Grid.RenderTransform>
    <TranslateTransform x:Name="xform" X="-25"/>
</Grid.RenderTransform>

I no longer get the error in my application but the error tooltip is also not show. So there seems to be a problem with copying the template but I can not really figure out where it is.

 

 

 

Stefan
Telerik team
 answered on 17 Feb 2017
1 answer
253 views

Hi All

I have a WPF RadComboBox within a RadDataForm as per below - however whenever I press "insert" on my keyboard the data on the form disappears.   

I have tried to handle the "Insert" keypress in the keydown and keyup events but to no avail, it doesn't drop in there - I need to be prevent the form data from disappearing when the insert key is pressed.

Is there a way to disable a certain key from being pressed?

Please help ASAP.

 

Ram

     <telerik:RadDataForm.EditTemplate>
         <DataTemplate>
             <Grid>
                 <StackPanel Margin="10,10,30,10">
                     <!--<telerik:DataFormDataField DataMemberBinding="{Binding Name,Mode=TwoWay}"
                         Label="Name" FontWeight="Bold"
                         IsEnabled="True" Width="580" LostFocus="event_OnIngredientNameLostFocus">
                     </telerik:DataFormDataField>-->
                     <StackPanel Orientation="Horizontal" Margin="0,0,0,10">
                         <TextBlock KeyDown="RadComboBox_KeyDown" FontWeight="Bold" Margin="10,0,0,0" Text="Name" Width="180"/>
                         <telerik:RadComboBox ItemsSource="{Binding Glossary}"  SelectionChanged="event_OnIngredientNameSelectionChanged"
                                    HorizontalAlignment="Stretch" HorizontalContentAlignment="Left" LostFocus="event_OnIngredientNameLostFocus"
                                    Text="{Binding Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"                                                                          
                                    VerticalAlignment="Top" KeyDown="RadComboBox_KeyDown"  KeyUp="RadComboBox_KeyUp" IsTextSearchEnabled="True" IsEditable="True" Width="355">
                         <telerik:RadComboBox.ToolTip>
                             <Border BorderThickness="1" BorderBrush="{StaticResource ThemeAccent}">
                                 <Grid Background="#FFF3C6" MaxWidth="260" MinWidth="100" Height="Auto">
                                     <Grid.RowDefinitions>
                                         <RowDefinition Height="Auto" />
                                         <RowDefinition Height="1" />
                                         <RowDefinition Height="Auto" />
                                     </Grid.RowDefinitions>
                                     <TextBlock Margin="3" TextOptions.TextFormattingMode="Display" Text="Ingredient Name" TextTrimming="CharacterEllipsis" TextWrapping="NoWrap" Height="Auto" FontSize="14" FontWeight="SemiBold" HorizontalAlignment="Left" />
                                     <Rectangle Grid.Row="1" Height="1" HorizontalAlignment="Stretch" Margin="3,0" Fill="{StaticResource ThemeStripe}" />
                                     <TextBlock Margin="3" TextOptions.TextFormattingMode="Display" TextAlignment="Left" Grid.Row="2" Text="Start typing to select the ingredient or additive name from the glossary" TextWrapping="Wrap" Height="Auto" FontSize="12" FontWeight="Normal" HorizontalAlignment="Left" />
                                 </Grid>
                             </Border>
                         </telerik:RadComboBox.ToolTip>
                         <telerik:RadComboBox.ItemsPanel>
                             <ItemsPanelTemplate>
                                 <VirtualizingStackPanel />
                             </ItemsPanelTemplate>
                         </telerik:RadComboBox.ItemsPanel>
                     </telerik:RadComboBox>
                     </StackPanel>
                     <telerik:DataFormDataField DataMemberBinding="{Binding RefCode,Mode=TwoWay}"
                         Label="Ref Code"
                         IsEnabled="True" Width="580">
                     </telerik:DataFormDataField>
                 </StackPanel>
             </Grid>
         </DataTemplate>
     </telerik:RadDataForm.EditTemplate>
 </telerik:RadDataForm>

 

 

Kalin
Telerik team
 answered on 17 Feb 2017
0 answers
50 views
I have an app with 2 datagrid side by side, i want to hide the second one when the first datagrid has no items selected. how can i do that?
High
Top achievements
Rank 1
 asked on 16 Feb 2017
Narrow your results
Selected tags
Tags
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?