Telerik Forums
UI for WPF Forum
1 answer
500 views

Hello,

I need to get selected TreeView Node name and bind it to ViewModel property.

I used the following behavior to get SelectedItem from WPF TreeView, but when changed to RadTreeView the SelectedItemChanged  is not recognized. 

Is there any example on ho to get SelectedItem using WPF MVVM ?

 public class TreeViewSelectedItemBlendBehavior : Behavior<RadTreeView>
    {
        //dependency property
        public static readonly DependencyProperty SelectedItemProperty =
            DependencyProperty.Register("SelectedItem", typeof(object),
            typeof(TreeViewSelectedItemBlendBehavior),
            new FrameworkPropertyMetadata(null) { BindsTwoWayByDefault = true });

        //property wrapper
        public object SelectedItem
        {
            get { return (object)GetValue(SelectedItemProperty); }
            set { SetValue(SelectedItemProperty, value); }
        }

        protected override void OnAttached()
        {
            base.OnAttached();
            this.AssociatedObject.SelectedItemChanged += OnTreeViewSelectedItemChanged;
        }

        protected override void OnDetaching()
        {
            base.OnDetaching();
            if (this.AssociatedObject != null)
                this.AssociatedObject.SelectedItemChanged -= OnTreeViewSelectedItemChanged;
        }

        private void OnTreeViewSelectedItemChanged(object sender,
            RoutedPropertyChangedEventArgs<object> e)
        {
            this.SelectedItem = e.NewValue;
        }
    }

 

Thank you,

Vadim

Martin Ivanov
Telerik team
 answered on 10 Apr 2017
1 answer
112 views

there is a difference between window view at run time and when it is showed in the XAML code.how can fix it?

I have used RibbonWindow and in the XAML file.

two pictured is attached

Dinko | Tech Support Engineer
Telerik team
 answered on 10 Apr 2017
0 answers
413 views

Hello, i'm trying to center my text vertically in my autocompletebox but te text stays centered on top. Why is this ?

this is my complete code:

<Style x:Key="RadAutoCompleteBoxStyle" TargetType="{x:Type telerik:RadAutoCompleteBox}">
 
            <Setter Property="IsTabStop" Value="False"/>
 
            <Setter Property="TextBoxStyle">
 
                <Setter.Value>
 
                    <Style TargetType="{x:Type telerik:RadWatermarkTextBox}">
 
                        <Setter Property="BorderThickness" Value="0"/>
 
                        <Setter Property="Margin" Value="3,3,0,0"/>
 
                        <Setter Property="Padding" Value="0"/>
 
                        <Setter Property="BorderBrush" Value="Transparent"/>
 
                        <Setter Property="Background" Value="Transparent"/>
 
                        <Setter Property="Template">
 
                            <Setter.Value>
 
                                <ControlTemplate TargetType="{x:Type telerik:RadWatermarkTextBox}">
 
                                    <Grid x:Name="RootElement" Cursor="IBeam">
 
                                        <VisualStateManager.VisualStateGroups>
 
                                            <VisualStateGroup x:Name="CommonStates">
 
                                                <VisualState x:Name="Normal">
 
                                                    <Storyboard>
 
                                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="MouseOverVisual">
 
                                                            <LinearDoubleKeyFrame KeyTime="0:0:0.15" Value="0"/>
 
                                                        </DoubleAnimationUsingKeyFrames>
 
                                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="MouseOverVisual">
 
                                                            <DiscreteObjectKeyFrame KeyTime="0:0:0.15">
 
                                                                <DiscreteObjectKeyFrame.Value>
 
                                                                    <Visibility>Collapsed</Visibility>
 
                                                                </DiscreteObjectKeyFrame.Value>
 
                                                            </DiscreteObjectKeyFrame>
 
                                                        </ObjectAnimationUsingKeyFrames>
 
                                                    </Storyboard>
 
                                                </VisualState>
 
                                                <VisualState x:Name="MouseOver">
 
                                                    <Storyboard>
 
                                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="MouseOverVisual">
 
                                                            <LinearDoubleKeyFrame KeyTime="0:0:0.115" Value="1"/>
 
                                                        </DoubleAnimationUsingKeyFrames>
 
                                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="MouseOverVisual">
 
                                                            <DiscreteObjectKeyFrame KeyTime="0">
 
                                                                <DiscreteObjectKeyFrame.Value>
 
                                                                    <Visibility>Visible</Visibility>
 
                                                                </DiscreteObjectKeyFrame.Value>
 
                                                            </DiscreteObjectKeyFrame>
 
                                                        </ObjectAnimationUsingKeyFrames>
 
                                                    </Storyboard>
 
                                                </VisualState>
 
                                                <VisualState x:Name="Disabled">
 
                                                    <Storyboard>
 
                                                        <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="DisabledVisualElement"/>
 
                                                        <DoubleAnimation Duration="0" To="0.6" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_ContentHost"/>
 
                                                    </Storyboard>
 
                                                </VisualState>
 
                                            </VisualStateGroup>
 
                                            <VisualStateGroup x:Name="WatermarkStates">
 
                                                <VisualState x:Name="WatermarkHidden">
 
                                                    <Storyboard>
 
                                                        <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="WatermarkVisualElement"/>
 
                                                    </Storyboard>
 
                                                </VisualState>
 
                                                <VisualState x:Name="WatermarkVisible"/>
 
                                            </VisualStateGroup>
 
                                        </VisualStateManager.VisualStateGroups>
 
                                        <Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Opacity="1"/>
 
                                        <Border x:Name="MouseOverVisual" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="2" IsHitTestVisible="False" Opacity="0" Grid.RowSpan="2" Visibility="Collapsed"/>
 
                                        <Border x:Name="DisabledVisualElement" BorderBrush="#FF989898" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" IsHitTestVisible="False" Opacity="0"/>
 
                                        <ScrollViewer x:Name="PART_ContentHost" BorderThickness="0" IsTabStop="False" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
 
                                            <telerik:StyleManager.Theme>
 
                                                <telerik:Office_BlackTheme/>
 
                                            </telerik:StyleManager.Theme>
 
                                        </ScrollViewer>
 
                                        <Border x:Name="FocusVisual" BorderBrush="#FFFFC92B" BorderThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="2" CornerRadius="1" IsHitTestVisible="False" Opacity="0" Grid.RowSpan="2">
 
                                            <Border BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0"/>
 
                                        </Border>
 
                                        <ContentControl x:Name="WatermarkVisualElement" BorderThickness="{TemplateBinding BorderThickness}" ContentTemplate="{TemplateBinding WatermarkTemplate}" Content="{TemplateBinding WatermarkContent}" FontStyle="Normal" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" IsHitTestVisible="False" IsTabStop="False" Margin="{TemplateBinding Padding}" Opacity="0.5" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
 
                                    </Grid>
 
                                </ControlTemplate>
 
                            </Setter.Value>
 
                        </Setter>
 
                        <Style.BasedOn>
 
                            <Style TargetType="{x:Type telerik:RadWatermarkTextBox}">
 
                                <Setter Property="Foreground" Value="Black"/>
 
                                <Setter Property="Padding" Value="5,3"/>
 
                                <Setter Property="VerticalContentAlignment" Value="Center"/>
 
                                <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
 
                                <Setter Property="AllowDrop" Value="True"/>
 
                                <Setter Property="IsTabStop" Value="True"/>
 
                                <Setter Property="BorderBrush" Value="#FF848484"/>
 
                                <Setter Property="Background" Value="White"/>
 
                                <Setter Property="BorderThickness" Value="1"/>
 
                                <Setter Property="KeyboardNavigation.TabNavigation" Value="Once"/>
 
                                <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
 
                                <Setter Property="SnapsToDevicePixels" Value="True"/>
 
                                <Setter Property="Template">
 
                                    <Setter.Value>
 
                                        <ControlTemplate TargetType="{x:Type telerik:RadWatermarkTextBox}">
 
                                            <Grid x:Name="RootElement" Cursor="IBeam">
 
                                                <VisualStateManager.VisualStateGroups>
 
                                                    <VisualStateGroup x:Name="CommonStates">
 
                                                        <VisualState x:Name="Normal">
 
                                                            <Storyboard>
 
                                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="MouseOverVisual">
 
                                                                    <LinearDoubleKeyFrame KeyTime="0:0:0.15" Value="0"/>
 
                                                                </DoubleAnimationUsingKeyFrames>
 
                                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="MouseOverVisual">
 
                                                                    <DiscreteObjectKeyFrame KeyTime="0:0:0.15">
 
                                                                        <DiscreteObjectKeyFrame.Value>
 
                                                                            <Visibility>Collapsed</Visibility>
 
                                                                        </DiscreteObjectKeyFrame.Value>
 
                                                                    </DiscreteObjectKeyFrame>
 
                                                                </ObjectAnimationUsingKeyFrames>
 
                                                            </Storyboard>
 
                                                        </VisualState>
 
                                                        <VisualState x:Name="MouseOver">
 
                                                            <Storyboard>
 
                                                                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="MouseOverVisual">
 
                                                                    <LinearDoubleKeyFrame KeyTime="0:0:0.115" Value="1"/>
 
                                                                </DoubleAnimationUsingKeyFrames>
 
                                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="MouseOverVisual">
 
                                                                    <DiscreteObjectKeyFrame KeyTime="0">
 
                                                                        <DiscreteObjectKeyFrame.Value>
 
                                                                            <Visibility>Visible</Visibility>
 
                                                                        </DiscreteObjectKeyFrame.Value>
 
                                                                    </DiscreteObjectKeyFrame>
 
                                                                </ObjectAnimationUsingKeyFrames>
 
                                                            </Storyboard>
 
                                                        </VisualState>
 
                                                        <VisualState x:Name="Disabled">
 
                                                            <Storyboard>
 
                                                                <DoubleAnimation Duration="0" To="0.6" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="DisabledVisualElement"/>
 
                                                                <DoubleAnimation Duration="0" To="0.6" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_ContentHost"/>
 
                                                            </Storyboard>
 
                                                        </VisualState>
 
                                                        <VisualState x:Name="ReadOnly">
 
                                                            <Storyboard>
 
                                                                <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ReadOnlyVisualElement"/>
 
                                                            </Storyboard>
 
                                                        </VisualState>
 
                                                    </VisualStateGroup>
 
                                                    <VisualStateGroup x:Name="FocusStates">
 
                                                        <VisualState x:Name="Focused">
 
                                                            <Storyboard>
 
                                                                <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="FocusVisual"/>
 
                                                            </Storyboard>
 
                                                        </VisualState>
 
                                                        <VisualState x:Name="Unfocused"/>
 
                                                    </VisualStateGroup>
 
                                                    <VisualStateGroup x:Name="WatermarkStates">
 
                                                        <VisualState x:Name="WatermarkHidden">
 
                                                            <Storyboard>
 
                                                                <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="WatermarkVisualElement"/>
 
                                                            </Storyboard>
 
                                                        </VisualState>
 
                                                        <VisualState x:Name="WatermarkVisible"/>
 
                                                    </VisualStateGroup>
 
                                                </VisualStateManager.VisualStateGroups>
 
                                                <Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="1" Opacity="1"/>
 
                                                <Border x:Name="ReadOnlyVisualElement" Background="#5EC9C9C9" CornerRadius="1" Opacity="0"/>
 
                                                <Border x:Name="MouseOverVisual" BorderBrush="#FFFFC92B" BorderThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="2" CornerRadius="1" IsHitTestVisible="False" Opacity="0" Grid.RowSpan="2" Visibility="Collapsed"/>
 
                                                <Border x:Name="DisabledVisualElement" BorderBrush="#FF989898" BorderThickness="{TemplateBinding BorderThickness}" Background="#FFE0E0E0" CornerRadius="1" IsHitTestVisible="False" Opacity="0"/>
 
                                                <ScrollViewer x:Name="PART_ContentHost" BorderThickness="0" Cursor="Arrow" IsTabStop="False" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
 
                                                    <telerik:StyleManager.Theme>
 
                                                        <telerik:Office_BlackTheme/>
 
                                                    </telerik:StyleManager.Theme>
 
                                                </ScrollViewer>
 
                                                <Border x:Name="FocusVisual" BorderBrush="#FFFFC92B" BorderThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="2" CornerRadius="1" IsHitTestVisible="False" Opacity="0" Grid.RowSpan="2">
 
                                                    <Border BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0"/>
 
                                                </Border>
 
                                                <ContentControl x:Name="WatermarkVisualElement" BorderThickness="{TemplateBinding BorderThickness}" ContentTemplate="{TemplateBinding WatermarkTemplate}" Content="{TemplateBinding WatermarkContent}" Foreground="{TemplateBinding Foreground}" FontStyle="Italic" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" IsHitTestVisible="False" IsTabStop="False" Margin="2,0,0,0" Opacity="0.5" Padding="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
 
                                                    <ContentControl.Template>
 
                                                        <ControlTemplate TargetType="{x:Type ContentControl}">
 
                                                            <Border BorderThickness="{TemplateBinding BorderThickness}">
 
                                                                <ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Margin="{TemplateBinding Padding}"/>
 
                                                            </Border>
 
                                                        </ControlTemplate>
 
                                                    </ContentControl.Template>
 
                                                </ContentControl>
 
                                            </Grid>
 
                                        </ControlTemplate>
 
                                    </Setter.Value>

 

 

 
                                </Setter>
 
                            </Style>
 
                        </Style.BasedOn>
 
                    </Style>
 
                </Setter.Value>
 
            </Setter>
 
            <Setter Property="Template">
 
                <Setter.Value>
 
                    <ControlTemplate TargetType="{x:Type telerik:RadAutoCompleteBox}">
 
                        <Grid>
 
                            <VisualStateManager.VisualStateGroups>
 
                                <VisualStateGroup x:Name="CommonStates">
 
                                    <VisualState x:Name="Normal"/>
 
                                    <VisualState x:Name="MouseOver">
 
                                        <Storyboard>
 
                                            <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="MouseOverVisual"/>
 
                                        </Storyboard>
 
                                    </VisualState>
 
                                    <VisualState x:Name="Disabled">
 
                                        <Storyboard>
 
                                            <DoubleAnimation Duration="0" To="0.6" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="DisabledVisualElement"/>
 
                                        </Storyboard>
 
                                    </VisualState>
 
                                </VisualStateGroup>
 
                                <VisualStateGroup x:Name="FocusStates">
 
                                    <VisualState x:Name="Unfocused"/>
 
                                    <VisualState x:Name="Focused">
 
                                        <Storyboard>
 
                                            <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="FocusVisual"/>
 
                                        </Storyboard>
 
                                    </VisualState>
 
                                </VisualStateGroup>
 
                            </VisualStateManager.VisualStateGroups>
 
                            <Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="1"/>
 
                            <Border x:Name="MouseOverVisual" BorderBrush="#FFFFC92B" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="1" Opacity="0"/>
 
                            <Border x:Name="FocusVisual" BorderBrush="#FFFFC92B" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="1" IsHitTestVisible="False" Opacity="0">
 
                                <Border BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0"/>
 
                            </Border>
 
                            <Border x:Name="DisabledVisualElement" BorderBrush="#FF989898" BorderThickness="{TemplateBinding BorderThickness}" Background="#FFE0E0E0" CornerRadius="1" IsHitTestVisible="False" Opacity="0"/>
 
                            <ScrollViewer x:Name="PART_ScrollViewer" BorderThickness="0" Background="Transparent" Height="{TemplateBinding Height}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" IsTabStop="False" Margin="{TemplateBinding BorderThickness}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
 
                                <telerik:StyleManager.Theme>
 
                                    <telerik:Office_BlackTheme/>
 
                                </telerik:StyleManager.Theme>
 
                                <telerik:AutoCompleteBoxesItemsControl x:Name="PART_Boxes"
 
                                                                      BoxesItemTemplate="{TemplateBinding BoxesItemTemplate}"
 
                                                                      DisplayMemberPath="{TemplateBinding DisplayMemberPath}"
 
                                                                      Foreground="{TemplateBinding Foreground}"
 
                                                                      Height="{TemplateBinding Height}"
 
                                                                      ScrollViewer.HorizontalScrollBarVisibility="Disabled"
 
                                                                      IsTabStop="False"
 
                                                                      Margin="{TemplateBinding Padding}"
 
                                                                      ScrollViewer.VerticalScrollBarVisibility="Disabled" >
 
                                    <telerik:AutoCompleteBoxesItemsControl.ItemsPanel>
 
                                        <ItemsPanelTemplate>
 
                                            <telerik:AutoCompleteBoxesWrapPanel IsItemsHost="True" Width="{Binding ActualWidth, ElementName=WatermarkTextBox}"/>
 
                                        </ItemsPanelTemplate>
 
                                    </telerik:AutoCompleteBoxesItemsControl.ItemsPanel>
 
 
 
                                    <telerik:AutoCompleteBoxesItemsControl.ItemContainerStyle>
 
                                        <Style TargetType="{x:Type telerik:RadAutoCompleteBoxItem}">
 
                                            <Setter Property="Template">
 
                                                <Setter.Value>
 
                                                    <ControlTemplate TargetType="{x:Type telerik:RadAutoCompleteBoxItem}">
 
                                                        <Border CornerRadius="1" x:Name="Bd" SnapsToDevicePixels="true" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
 
                                                            <StackPanel Orientation="Horizontal">
 
                                                                <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
 
 
 
                                                            </StackPanel>
 
 
 
                                                        </Border>
 
                                                    </ControlTemplate>
 
                                                </Setter.Value>
 
                                            </Setter>
 
                                        </Style>
 
                                    </telerik:AutoCompleteBoxesItemsControl.ItemContainerStyle>
 
 
 
                                </telerik:AutoCompleteBoxesItemsControl>
 
                            </ScrollViewer>
 
                            <Popup x:Name="PART_Popup">
 
                                <Grid x:Name="PopupRoot">
 
                                    <telerik:RadListBox x:Name="PART_ListBox"
 
                                                        CanKeyboardNavigationSelectItems="{x:Null}"
 
                                                        IsTabStop="False"
 
                                                        ItemTemplate="{TemplateBinding DropDownItemTemplate}"
 
                                                        IsTextSearchEnabled="True"
 
                                                        MaxHeight="{TemplateBinding MaxDropDownHeight}"
 
                                                        MinWidth="{TemplateBinding MinDropDownWidth}"
 
                                                        SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
 
                                                        SelectedValueBinding="{x:Null}"
 
                                                        TextBinding="{x:Null}"
 
                                                        ItemsSource="{TemplateBinding FilteredItems}">
 
 
 
                                        <telerik:StyleManager.Theme>
 
                                            <telerik:Office_BlackTheme/>
 
                                        </telerik:StyleManager.Theme>
 
                                    </telerik:RadListBox>
 
                                </Grid>
 
                            </Popup>
 
                        </Grid>
 
                    </ControlTemplate>
 
                </Setter.Value>
 
            </Setter>
 
            <Setter Property="BorderBrush" Value="#FF848484"/>
 
            <Setter Property="BorderThickness" Value="1"/>
 
            <Setter Property="Background" Value="White"/>
 
            <Setter Property="Padding" Value="0,0,3,3"/>
 
            <Setter Property="Cursor" Value="IBeam"/>
 
            <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Disabled"/>
 
            <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
 
            <Setter Property="SnapsToDevicePixels" Value="True"/>
 
        </Style>
Bjorn
Top achievements
Rank 1
 asked on 08 Apr 2017
2 answers
480 views

Hello,

Let's suppose I have a large DB of vehicles. One of the tables is tblColors that has a numeric ColorCode and a string ColorName (say there's about a hundred of those).

The main table contains a ColorCode of the vehicle but I need to show ColorName in my grid. What I do is I create a TypeConverter that goes like

public class ColorConverter
{
  public object Convert(object, Type, object, CultureInfo)
  {
    byte? colorCode = value as byte?;
    swtich (colorCode)
    {
      case 1: return "White";
                  break;
      .....
    }
........
}

 

Then I go to my grid and create a column:

...
<Grid.Resources>
  <r:ColorConverter x:Key="ColorConverter" />
</Grid.Resources>
...
 
<telerik:RadGridView Name="myGrid" AutoGenerateColumns="false" ... >
  <telerik:RadGridView.Columns>
    ...
    <telerik:GridViewDataColumn Header="Color" DataMemberBinding="{Binding ColorCode, Converter={StaticResource ColorConverter}}" />
    ...
  </telerik:RadGridViewColumns>
  ...
</telerik:RadGridView>

 

First of all: am I doing this right? I don't want to query my other table on each row loading so I just preload (or hard-code) the code->name relation.

Second question is, now when I click on the filtering symbol for the Color column, I'm getting the numbers not the converted values. I could preload the values (as a List<String>) in the DistinctValuesLoading event but then when I'm trying to filter I'm getting a "System.FormatException: Input string was not in a correct format."

Thank you.

 

Alex
Top achievements
Rank 1
 answered on 07 Apr 2017
2 answers
338 views
I am trying to create the slider design demonstrated in the attachment (with making tick crossing the track of the slider), but I had many difficulties. Is it possible to do this design? what is the simplest way to do it? I hope the answer is explained with a sample project. 
Evgenia
Telerik team
 answered on 07 Apr 2017
2 answers
190 views

Hello.

If RadCartesianChart uses an instance of RadObservableColection as DataSource and there are a lot of data points (for example 100000 points of data) in this RadObservableColection, is there (in this case) RadCartesianChart works with virtual (disk) memory (locating RadObservableColection in virtual memory)? Or RadCartesianChart uses only RAM memory space in this case (so RadObservableCollection is in the computer's RAM)?

Dmitry
Top achievements
Rank 1
 answered on 07 Apr 2017
3 answers
879 views

What role does RadGridViewAutomationPeer? 

I have a RadGridView in my application, but when I change my DataContext to a new object containing a new List for the ItemsSource, the RadGridView is still holding all the old objects from the old List used by the ItemsSource in memory through this RadGridViewAutomationPeer. Not knowing what the AutomationPeer does, I'm at a bit of a loss as to how to get it to release those old objects. I wasn't able to find any useful information on this class. I've attached the memory retention chart from dotMemory showing my CurveSets being held.

Here's the xaml for the chart:

 

<telerik:RadGridView
    x:Name="CurveList"
    Grid.Row="1"
    AutoGenerateColumns="False" ItemsSource="{Binding Path=Wells}"
    IsFilteringAllowed="False" ShowGroupPanel="False" CanUserSortColumns="False"
    SelectionMode="Single"
    IsSynchronizedWithCurrentItem="True"
    CurrentItem="{Binding Path=DeclineConsolidator.CurrentCurve, Mode=TwoWay}"
    GroupRenderMode="Flat" EnableRowVirtualization="True">
    <telerik:RadGridView.Resources>
        <consolidator:WellNameStyleSelector x:Key="NameStyleSelector">
            <consolidator:WellNameStyleSelector.CleanStyle>
                <Style TargetType="{x:Type telerik:GridViewCell}">
                    <Setter Property="FontStyle" Value="Normal" />
                </Style>
            </consolidator:WellNameStyleSelector.CleanStyle>
            <consolidator:WellNameStyleSelector.DirtyStyle>
                <Style TargetType="{x:Type telerik:GridViewCell}">
                    <Setter Property="FontStyle" Value="Italic" />
                </Style>
            </consolidator:WellNameStyleSelector.DirtyStyle>
        </consolidator:WellNameStyleSelector>
    </telerik:RadGridView.Resources>
    <telerik:RadGridView.Columns>
        <telerik:GridViewDataColumn Header="" Width="25" MaxWidth="25" MinWidth="25" IsReadOnly="True">
            <telerik:GridViewDataColumn.CellTemplate>
                <DataTemplate>
                    <Image
                        Source="{Binding Source={x:Static pcc:ImageSourceConstants.WarningIcon}}"
                        Visibility="{Binding Path=IsValid, Converter={StaticResource InverseBoolToVisibilityConverter}}"
                        Tag="{Binding Path=ErrorMessageAlert}"
                        Width="15" Height="15" Margin="0,0,0,0">
                        <i:Interaction.Behaviors>
                            <infrastructure:ImageGridValidationBehaviour />
                        </i:Interaction.Behaviors>
                    </Image>
                </DataTemplate>
            </telerik:GridViewDataColumn.CellTemplate>
        </telerik:GridViewDataColumn>
        <telerik:GridViewDataColumn Header="{x:Static prop:Resources.WellListColumnHeader}"
                                    IsReadOnly="True"
                                    DataMemberBinding="{Binding Path=DisplayName}" Width="*"
                                    CellStyleSelector="{StaticResource NameStyleSelector}" />
    </telerik:RadGridView.Columns>
</telerik:RadGridView>

 

 

Martin
Telerik team
 answered on 07 Apr 2017
0 answers
119 views
Hi, my maskedtextinput is only allowed to have capitalized characters. May I ask how should I do that? I've enforced it on the model side but it moves the next available entry to the front of the masked instead of always keeping it maintained on the right.

band
Top achievements
Rank 1
 asked on 06 Apr 2017
3 answers
187 views
Is it possible to export grid data in partial trust XBAP application? I know that SaveFileDialog is not permited in partial trust, but Silverlight has his own SaveFileDialog and it works.

Next question. We want to print grid but the orginal form of print view is hopeless. There are not margins, some data is cutted, there are not title. Is it possible to override default print? We want to use the same filters and columns like in grid when print is generating.
band
Top achievements
Rank 1
 answered on 06 Apr 2017
0 answers
131 views

Hi, I'm using the same approach as a demo I came across on a forum post. It works well if the # of rows is small, but once you start to add hundreds of rows, the performance goes down dramatically. Any idea how to solve this?

Demo can be found here. It's almost like yours except with a for loop creating a larger dataset. Takes over 5 mins to get the print.

https://uploadz.co/w6b9ghawf6uu

band
Top achievements
Rank 1
 asked on 06 Apr 2017
Narrow your results
Selected tags
Tags
GridView
General Discussions
Chart
RichTextBox
Docking
ScheduleView
ChartView
TreeView
Diagram
Map
ComboBox
TreeListView
Window
RibbonView and RibbonWindow
PropertyGrid
DragAndDrop
TabControl
TileView
Carousel
DataForm
PDFViewer
MaskedInput (Numeric, DateTime, Text, Currency)
AutoCompleteBox
DatePicker
Buttons
ListBox
GanttView
PivotGrid
Spreadsheet
Gauges
NumericUpDown
PanelBar
DateTimePicker
DataFilter
Menu
ContextMenu
TimeLine
Calendar
Installer and Visual Studio Extensions
ImageEditor
BusyIndicator
Expander
Slider
TileList
DataPager
PersistenceFramework
Styling
TimeBar
OutlookBar
TransitionControl
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
NavigationView (Hamburger Menu)
Wizard
ExpressionEditor
WatermarkTextBox
DesktopAlert
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
LayoutControl
ProgressBar
Sparkline
TabbedWindow
ToolTip
CloudUpload
ColorEditor
TreeMap and PivotMap
EntityFrameworkCoreDataSource (.Net Core)
HeatMap
Chat (Conversational UI)
VirtualizingWrapPanel
Calculator
NotifyIcon
TaskBoard
TimeSpanPicker
BulletGraph
Licensing
WebCam
CardView
DataBar
FilePathPicker
Callout
PasswordBox
SplashScreen
Localization
Rating
Accessibility
CollectionNavigator
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Miljana
Top achievements
Rank 2
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
Cynthia
Top achievements
Rank 1
John
Top achievements
Rank 1
Iron
Mozart
Top achievements
Rank 1
Iron
Veteran
Want to show your ninja superpower to fellow developers?
Top users last month
Miljana
Top achievements
Rank 2
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
Cynthia
Top achievements
Rank 1
John
Top achievements
Rank 1
Iron
Mozart
Top achievements
Rank 1
Iron
Veteran
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?