Telerik Forums
UI for WPF Forum
1 answer
701 views

i want to change spacing between every letter ,like /expand in rtf format ,i can't find way to change that.

so as winform richtexteditor

please support it

 

Tanya
Telerik team
 answered on 03 Sep 2018
4 answers
303 views

I have a customized cell template.

<telerik:GridViewDataColumn Header="Contact" DataMemberBinding="{Binding CustAccountsLocationContact.FirstName}">
    <telerik:GridViewDataColumn.CellTemplate>
         <DataTemplate>
               <TextBox Text="{Binding SomeText, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" />
         </DataTemplate>
   </telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>

 

Now in Model class SomeText property there is a [required] attribute. Similar this, I created the error template as

<ControlTemplate x:Key="errorTemplate">
    <DockPanel>
        <Border BorderBrush="Red" BorderThickness="1">
            <AdornedElementPlaceholder x:Name="controlWithError"/>
        </Border>
        <TextBlock Foreground="Red" FontSize="20" FontFamily="Segoe UI" Margin="3,0,0,0"  MouseDown="Exclamation_MouseDown"  Tag="{Binding AdornedElement.(Validation.Errors)[0].ErrorContent, ElementName=controlWithError}">!</TextBlock>
    </DockPanel>
</ControlTemplate>

 

However I can not see the error template if validation failed. By the answer on stackoverflow, it seems need  to wrap some template with <AdornerDecorator>

Is it the solution to my case? If so, how to wrap it around telerik control?

Thank you.

Martin
Telerik team
 answered on 03 Sep 2018
1 answer
70 views

Hello,

In the SaveFileDialog, when the user selects "This PC" on the folders tree, the files list doesn't change.

On the windows save file dialog, the list of devices and drives is displayed.

Petar Mladenov
Telerik team
 answered on 03 Sep 2018
1 answer
169 views

Hi,

in the SDK sample, there is a "GridSorting" project which sort on the original collection

How can I implement sorting and filtering using ICollectionView (sort the parent task, and children task also)

The attached is the sample project with basic implementation of sort with ICollectionView, which is not working

 

Thanks and Best regards

Stefan
Telerik team
 answered on 31 Aug 2018
6 answers
619 views
Hello, is it possible to set a MaxLength to the RadNumericUpDown so the user can't input more than the allowed number? (Exactly like the WPF TextBox), I tried the code below but it didn't work since ContentText is readonly:

private

 

void textBoxWidth_KeyDown(object sender, KeyEventArgs e)

 

{

 

    if (textBoxWidth.ContentText.Length > 1)

 

    {

        textBoxWidth.ContentText = 9;

        textBoxWidth.Value = 9;

    }

}

Thanks.

Jayesh
Top achievements
Rank 1
 answered on 31 Aug 2018
3 answers
342 views
Can you explain to me the purpose of creating the lib directory during an upgrade?  This seems to be a new way of operating and it creates havoc with the projects that are shared between multiple solutions.  If I upgrade solution 1 it creates all the reference files then updates the references for project 1 pointing to that directory.  If I upgrade solution it creates another set of the same files but now project 1 points to the new directory.  Shouldn't it just point to the GAC reference?

Also, this means that every solution ends up adding the same files to Source control because "everything in this directory" belongs in there.
Nikola
Telerik team
 answered on 31 Aug 2018
1 answer
143 views

Hi,

I have a WPF application with SpellChecker integrated with RadRichTextBox. The Richtextbox has a long content and is displayed in multiple pages and i need to achieve the below 3 things

1) SpellChecker highlights the word that needs to be changed but it does not not properly scroll to the next mispelled word which is on the next page.

2) The 'Not in Dictionary' section of the SpellChecker does not allow editing the wording there itself similar to MS Word.

3) SpellChcker not not go to the top of the page if we are at the bottom of the page. 

Please help on how to achieve this.

 

Boby
Telerik team
 answered on 31 Aug 2018
4 answers
209 views

Hi Telerik,

 

I'm using a RadDiagram with a custom RadDiagramConnection :

<Style TargetType="diagramscontrols:RadDiagramConnection" x:Key="RadDiagramConnectionStyle_RotateText">
    <Setter Property="StrokeThickness" Value="1"/>
    <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
    <Setter Property="VerticalContentAlignment" Value="Stretch"/>
    <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="telerik:RadDiagramConnection">
                <Grid x:Name="RootTemplate" MinHeight="0" HorizontalAlignment="Stretch">
                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="SelectionStates">
                            <VisualState x:Name="Selected"/>
                            <VisualState x:Name="SelectedInGroup">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SelectedInGroupPath" Storyboard.TargetProperty="Visibility" Duration="0">
                                        <DiscreteObjectKeyFrame KeyTime="0">
                                            <DiscreteObjectKeyFrame.Value>
                                                <Visibility>Visible</Visibility>
                                            </DiscreteObjectKeyFrame.Value>
                                        </DiscreteObjectKeyFrame>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="Unselected"/>
                            <VisualState x:Name="SelectedAsGroup"/>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="EditMode">
                            <VisualState x:Name="NormalMode"/>
                            <VisualState x:Name="NormalEditMode">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="NormalContent" Storyboard.TargetProperty="Visibility">
                                        <DiscreteObjectKeyFrame KeyTime="0">
                                            <DiscreteObjectKeyFrame.Value>
                                                <Visibility>Collapsed</Visibility>
                                            </DiscreteObjectKeyFrame.Value>
                                        </DiscreteObjectKeyFrame>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="EditContent" Storyboard.TargetProperty="Visibility">
                                        <DiscreteObjectKeyFrame KeyTime="0">
                                            <DiscreteObjectKeyFrame.Value>
                                                <Visibility>Visible</Visibility>
                                            </DiscreteObjectKeyFrame.Value>
                                        </DiscreteObjectKeyFrame>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="TextBoxEditMode">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="NormalContent" Storyboard.TargetProperty="Visibility">
                                        <DiscreteObjectKeyFrame KeyTime="0">
                                            <DiscreteObjectKeyFrame.Value>
                                                <Visibility>Collapsed</Visibility>
                                            </DiscreteObjectKeyFrame.Value>
                                        </DiscreteObjectKeyFrame>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="EditTextBox" Storyboard.TargetProperty="Visibility">
                                        <DiscreteObjectKeyFrame KeyTime="0">
                                            <DiscreteObjectKeyFrame.Value>
                                                <Visibility>Visible</Visibility>
                                            </DiscreteObjectKeyFrame.Value>
                                        </DiscreteObjectKeyFrame>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                    </VisualStateManager.VisualStateGroups>
                    <Path x:Name="DeferredPath"
                               Stroke="{TemplateBinding Stroke}"
                               Opacity="0.7"
                               Fill="{TemplateBinding Background}"
                               StrokeThickness="{TemplateBinding StrokeThickness}"
                               StrokeDashArray="2 2"/>
                    <Path x:Name="SelectedInGroupPath" Visibility="Collapsed" Stroke="Green" />
                    <Path Stroke="{TemplateBinding Stroke}"
                              Fill="{TemplateBinding Background}"
                              StrokeThickness="{TemplateBinding StrokeThickness}"
                              x:Name="GeometryPath"
                              StrokeDashArray="{TemplateBinding StrokeDashArray}"/>
                    <Grid x:Name="EdittingElement" RenderTransformOrigin="0.5 0.5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
                        <Grid.LayoutTransform>
                            <RotateTransform>
                                <RotateTransform.Angle>
                                    <MultiBinding Converter="{StaticResource PointsToAngleConverter}">
                                        <Binding Path="StartPoint" RelativeSource="{RelativeSource AncestorType=telerik:RadDiagramConnection}" />
                                        <Binding Path="EndPoint" RelativeSource="{RelativeSource AncestorType=telerik:RadDiagramConnection}" />
                                        <Binding ElementName="DeferredPath" Path="Data" />
                                    </MultiBinding>
                                </RotateTransform.Angle>
                            </RotateTransform>
                        </Grid.LayoutTransform>
                        <Border Background="Transparent"/>
                        <TextBlock x:Name="NormalContent" Foreground="{TemplateBinding Foreground}" FontFamily="{TemplateBinding FontFamily}" FontSize="{TemplateBinding FontSize}"
                                   Text="{TemplateBinding Content}" TextAlignment="{Binding Tag.TextAlignement, RelativeSource={RelativeSource AncestorType=diagramscontrols:RadDiagramConnection}}"
                                   HorizontalAlignment="{Binding Tag.HorizontalTextAlignement, RelativeSource={RelativeSource AncestorType=diagramscontrols:RadDiagramConnection}}"
                                   VerticalAlignment="Center">
                            <TextBlock.Margin>
                                <MultiBinding Converter="{StaticResource MarginConverter}">
                                    <Binding Path="StartPoint" RelativeSource="{RelativeSource AncestorType=telerik:RadDiagramConnection}" />
                                    <Binding Path="EndPoint" RelativeSource="{RelativeSource AncestorType=telerik:RadDiagramConnection}" />
                                    <Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}" />
                                </MultiBinding>
                            </TextBlock.Margin>
                        </TextBlock>
                        <ContentPresenter x:Name="EditContent" Visibility="Collapsed" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding EditTemplate}"/>
                        <TextBox x:Name="EditTextBox" Visibility="Collapsed">
                            <TextBox.InputBindings>
                                <KeyBinding Key="Enter" Command="ApplicationCommands.NotACommand"/>
                            </TextBox.InputBindings>
                        </TextBox>
                    </Grid>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

 

To save my diagram, I'm using this code :

Dim pathDiagram As String = myDiagram.Save()
Dim xml_doc As XDocument = XDocument.Parse(pathDiagram)

 

The problem is that I want to save the HorizontalAlignement of the text in my custom RadDiagramConnection, and I don't know how I can do this.

For custom TextShape, the HorizontalAlignement is saved, like in the attached picture.

 

Do you know how I can add the save of HorizontalAlignement property during Diagram saving ?

 

Thank you.

Valentin.

 

Valentin
Top achievements
Rank 2
Iron
Iron
Iron
 answered on 31 Aug 2018
18 answers
429 views

Hi All,

I created a custom gridview which inherit from radgridview. And I have a ControlPanelItem which include a toggle button, The button has IsFilteringAllowed property. It works correctly when the gridview Visible.

But when the gridview initially collapsed a binding error occured in output.

"Cannot find source for binding with reference 'ElementName=grid'. BindingExpression:Path=IsFilteringAllowed; DataItem=null; target element is 'ToggleButton' (Name=''); target property is 'IsChecked' (type 'Nullable`1')"

This is my control xaml

<UserControl x:Class="DemoApplication.CustomGridView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
             mc:Ignorable="d"
             d:DesignHeight="300"
             d:DesignWidth="300"
             x:Name="grid">
    <Grid>

        <telerik:RadGridView>

            <telerik:RadGridView.ControlPanelItems>
                <telerik:ControlPanelItem ButtonTooltip="Allow Filtering">
                    <telerik:ControlPanelItem.ButtonContent>
                        <ToggleButton IsChecked="{Binding  IsFilteringAllowed, ElementName=grid}"
                                      Width="16"
                                      Height="16"
                                      MinWidth="16"
                                      MinHeight="16"
                                      Padding="0,0,0,0"
                                      HorizontalAlignment="Center"
                                      VerticalAlignment="Center"
                                      BorderThickness="0">                      
                        </ToggleButton>
                    </telerik:ControlPanelItem.ButtonContent>
                </telerik:ControlPanelItem>
            </telerik:RadGridView.ControlPanelItems>
        </telerik:RadGridView>

this is xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace DemoApplication
{
    /// <summary>
    /// Interaction logic for CustomGridView.xaml
    /// </summary>
    public partial class CustomGridView : UserControl
    {
        public CustomGridView()
        {
            InitializeComponent();
        }
        //
        // Summary:
        //     Gets or sets a value indicating whether the control can be filtered through
        //     the UI.

        public static readonly DependencyProperty IsFilteringAllowedProperty =
                               DependencyProperty.Register("IsFilteringAllowed", typeof(Boolean), typeof(CustomGridView));

        public Boolean IsFilteringAllowed
        {
            get { return (Boolean)GetValue(IsFilteringAllowedProperty); }
            set { SetValue(IsFilteringAllowedProperty, value); }
        }
    }
}

    </Grid>
</UserControl>

and this is my view

<Window x:Class="DemoApplication.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:DemoApplication"
        Title="MainWindow"
        Height="350"
        Width="525">

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition></RowDefinition>
            <RowDefinition Height="auto"></RowDefinition>
        </Grid.RowDefinitions>

        <local:CustomGridView x:Name="grid"
                              Visibility="Collapsed" />
        </Button>

    </Grid>
</Window>


Thanks

 

 

 

 

 

Martin
Telerik team
 answered on 31 Aug 2018
3 answers
610 views

Hi,

on my data grids I have implemented the functionality to do an save and load the layout, reset the layout to default and to do an export to Excel.  This is done by a ContextMenu defined in a style, which works fine.

        <Setter Property="ContextMenu">
            <Setter.Value>
                <ContextMenu>
                    <MenuItem Header="Export to Excel" Command="{Binding ExportToExcelCmd}" CommandParameter="{Binding Path=PlacementTarget, RelativeSource={RelativeSource Mode=FindAncestor, AncestorLevel=1,  AncestorType={x:Type ContextMenu}}}">
                        <MenuItem.Icon>
                            <Image Source="/Resources/Icons/Excel.png" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Header="Save grid layout" Command="{Binding SaveDataGridLayoutCmd}" CommandParameter="{Binding Path=PlacementTarget, RelativeSource={RelativeSource Mode=FindAncestor, AncestorLevel=1,  AncestorType={x:Type ContextMenu}}}">
                        <MenuItem.Icon>
                            <Image Source="/Resources/Icons/Save.png" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Header="Load grid layout" Command="{Binding LoadDataGridLayoutCmd}" CommandParameter="{Binding Path=PlacementTarget, RelativeSource={RelativeSource Mode=FindAncestor, AncestorLevel=1,  AncestorType={x:Type ContextMenu}}}">
                        <MenuItem.Icon>
                            <Image Source="/Resources/Icons/Refresh.png" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Header="Reset grid layout" Command="{Binding ResetDataGridLayoutCmd}" CommandParameter="{Binding Path=PlacementTarget, RelativeSource={RelativeSource Mode=FindAncestor, AncestorLevel=1,  AncestorType={x:Type ContextMenu}}}">
                        <MenuItem.Icon>
                            <Image Source="/Resources/Icons/Refresh.png" />
                        </MenuItem.Icon>
                    </MenuItem>
                </ContextMenu>
            </Setter.Value>
        </Setter>
Recently I discoverd the ControlPanel control.  I copied/paste the code from the demo to implement the show/hide columns feature.  Now I would like to switch from the above ContextMenu to a ControlPanel with buttons for each action:

                <telerik:ControlPanelItemCollection>
                    <telerik:ControlPanelItem ButtonTooltip="Column chooser" >
                        <telerik:ControlPanelItem.ContentTemplate>
                            <DataTemplate>
                                <ListBox ItemsSource="{Binding Columns}"  BorderThickness="0">
                                    <ListBox.ItemTemplate>
                                        <DataTemplate>
                                            <CheckBox Content="{Binding Header, Mode=OneWay}" IsChecked="{Binding IsVisible, Mode=TwoWay}" />
                                        </DataTemplate>
                                    </ListBox.ItemTemplate>
                                </ListBox>
                            </DataTemplate>
                        </telerik:ControlPanelItem.ContentTemplate>
                    </telerik:ControlPanelItem>
                   
                    <telerik:ControlPanelItem ButtonTooltip="Save/Load layout" >
                        <telerik:ControlPanelItem.Content>
                            <ListBox>
                                    <Button Content="Export to Excel" Command="{Binding ExportToExcelCmd}" CommandParameter="{Binding ?"/>
                                    <Button Content="Save grid layout" Command="{Binding SaveDataGridLayoutCmd}" CommandParameter="{Binding ?}"/>
                                    <Button Content="Load grid layout" Command="{Binding LoadDataGridLayoutCmd}" CommandParameter="{Binding ?}"/>
                                    <Button Content="Reset grid layout" Command="{Binding ResetDataGridLayoutCmd}" CommandParameter="{Binding ?}"/>
                            </ListBox>
                        </telerik:ControlPanelItem.Content>
                    </telerik:ControlPanelItem>

But I'm stuck with the binding of the Command.  As I'm using the MVVM pattern, the Command is bound to a command in my ViewModel.  This works fine for the ContextMenu, but not for the ControlPanel. 

Also, the datagrid itself needs to be send as a parameter with the command and I'm not sure how to do this.

Any help would be much appreciated.

Regards,

Hans

Stefan
Telerik team
 answered on 31 Aug 2018
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
Slider
Expander
TileList
PersistenceFramework
DataPager
Styling
TimeBar
OutlookBar
TransitionControl
Book
FileDialogs
ToolBar
ColorPicker
TimePicker
SyntaxEditor
MultiColumnComboBox
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
DesktopAlert
WatermarkTextBox
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
ProgressBar
Sparkline
LayoutControl
TabbedWindow
ToolTip
CloudUpload
ColorEditor
TreeMap and PivotMap
EntityFrameworkCoreDataSource (.Net Core)
HeatMap
Chat (Conversational UI)
VirtualizingWrapPanel
Calculator
NotifyIcon
TaskBoard
TimeSpanPicker
BulletGraph
WebCam
CardView
DataBar
Licensing
FilePathPicker
PasswordBox
Rating
SplashScreen
Accessibility
Callout
CollectionNavigator
Localization
AutoSuggestBox
VirtualKeyboard
HighlightTextBlock
Security
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?