Telerik Forums
UI for WPF Forum
3 answers
321 views

I have an editable combobox, where I need the left margin increased. I found the TextBoxStyle property and tried to use it, but it does not work. To ensure that I was doing things correctly, I tried setting other properties, such as the background, which do work. So I know that my style is being applied, but your ComboBox code is overriding it somehow.

 

I've worked around the problem by finding the textbox by it's "PART_EditableTextBox" name and manually adjusting the margin, but it is not ideal on several levels. If I am doing something wrong, please let me know what I can do differently.

Vladimir Stoyanov
Telerik team
 answered on 20 Jan 2020
7 answers
303 views

I'm trying to use a RadSaveFileDialog to allow users to export files from my application, but before the export can be performed the user needs to configure a few options. I am wondering if it is possible to customize the "operations pane" area of a RadSaveFileDialog in order to add a few checkboxes/buttons/dropdowns that the user can configure before pressing the Save button?

My initial thought was to create a custom SaveFileDialogControlTemplate to add the controls in, but I'm having some trouble figuring out how to access the controls from code so I can add click handlers or modify labels at runtime. Is this kind of customization possible with RadSaveFileDialog?

Petar Mladenov
Telerik team
 answered on 20 Jan 2020
1 answer
361 views

Just by using that:

            var openFileDialog = new RadOpenFolderDialog();
            openFileDialog.ShowDialog();

 

I get all those exceptions and it break each time I run with the debugger.  It's probably related to my mapped network drives.

Exception thrown: 'System.ArgumentException' in mscorlib.dll

Exception thrown: 'System.ArgumentException' in mscorlib.dll

Exception thrown: 'System.ArgumentException' in mscorlib.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.dll
Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll
Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll
Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll
Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll
Exception thrown: 'System.UnauthorizedAccessException' in mscorlib.dll

 

The callstack for the first exception:

>mscorlib.dll!System.IO.Path.LegacyNormalizePath(string path, bool fullCheck, int maxPathLength, bool expandShortPaths)Unknown
 mscorlib.dll!System.IO.Path.GetFullPathInternal(string path)Unknown
 mscorlib.dll!System.IO.Directory.InternalExistsHelper(string path, bool checkHost)Unknown
 Telerik.Windows.Controls.FileDialogs.dll!Telerik.Windows.Controls.FileDialogs.DirectoryBaseWrapper.RefreshCanExpand()Unknown
 Telerik.Windows.Controls.FileDialogs.dll!Telerik.Windows.Controls.FileDialogs.DirectoryBaseWrapper.CanExpand.get()Unknown

 

In RefreshCanExpand not all the exception of EnumerateDirectories seems to be catch.

Vladimir Stoyanov
Telerik team
 answered on 20 Jan 2020
1 answer
359 views

We are using the PersistenceFramework to handle storing the user's settings in our application.  Currently the application consists of a single window that contains a RadWizard with three pages.  The first page gets the configuration options for the process, the second shows the progress of the operation, and the final page shows the results of the operation in a RadGridView.   We have worked around a few issues with the PersistenceFramework storing unwanted specific values (e.g. SelectedPage) by using SerializationOptions with the Except Condition.  Of course we used the Custom PropertiesProvider for the RadGridView.  This works in general; however, we have run into issues during development where, if you make a change in the XAML, (e.g. change the layout/presentation of the page) minor changes cause the saved properties to be incompatible and the application just crashes.  It then takes time to determine whether the problem is with the persistence or something the programmer did.

What we would like to do is go to the Condition="Only" model of persistence.  This would allow us to specify the few things like window size and position, configuration settings, and the final RadGridView properties; and persist just those.  I have successfully trimmed the main window data down to the window size and position using the Only Condition.   However, when trying to work with items deeper in the page. I haven't been able to filter properly.  I either get nothing, or everything.

I am looking for help on how persist the option from the first page and the RadGridView properties from the third page without the rest of the properties of either page or anything from the second page.

 

001.<base:Window x:Class="CatalogCompare.CatalogCompareView"
003.        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
004.        xmlns:base="clr-namespace:SSI.Base.UI;assembly=SSI.Base.UI"
005.        xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
006.        xmlns:telerik1="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls"
007.        xmlns:persist="clr-namespace:SSI.Base.UI.Persistence;assembly=SSI.Base.UI"
008.        xmlns:radGridContextMenu="clr-namespace:SSI.Base.UI.Controls.RadGridContextMenu;assembly=SSI.Base.UI"
009.        xmlns:sys="clr-namespace:System;assembly=mscorlib"
010.        xmlns:behaviors="clr-namespace:CatalogCompare"
011.        Title="Catalog Compare"
012.        Height="440"
013.        Width="617"
014.        MinHeight="440"
015.        MinWidth="617"
016.        Icon="pack://application:,,,/SSI.Images;component/Images/CatalogCompare.ico">
017.    <telerik:PersistenceManager.SerializationOptions>
018.        <telerik:SerializationMetadataCollection>
019.            <telerik:PropertyNameMetadata Condition="Only" Expression="^\b(Top)\b$" SearchType="PropertyPath" />
020.            <telerik:PropertyNameMetadata Condition="Only" Expression="^\b(Left)\b$" SearchType="PropertyPath" />
021.            <telerik:PropertyNameMetadata Condition="Only" Expression="^\b(Width)\b$" SearchType="PropertyPath" />
022.            <telerik:PropertyNameMetadata Condition="Only" Expression="^\b(Height)\b$" SearchType="PropertyPath" />
023.        </telerik:SerializationMetadataCollection>
024.    </telerik:PersistenceManager.SerializationOptions>
025.    <Window.Resources>
026....
027.    </Window.Resources>
028.    <Grid x:Name="LayoutRoot">
029.        <telerik:RadWizard x:Name="wizard" Cancel="wizard_Cancel" Finish="wizard_Export" SelectedPageIndex="{Binding SelectedWizardPageIndex, Mode=TwoWay}" IsContentPreserved="True">
030.            <telerik:PersistenceManager.SerializationOptions>
031.                <telerik:SerializationMetadataCollection>
032.                    <telerik:PropertyNameMetadata Condition="Except" Expression="SelectedPage" SearchType="PropertyName" />
033.                </telerik:SerializationMetadataCollection>
034.            </telerik:PersistenceManager.SerializationOptions>
035.            <telerik:RadWizard.WizardPages>
036.                <telerik:WizardPage x:Name="configurePage" IsSideHeaderVisible="True" ButtonsVisibilityMode="Next,Cancel" NextButtonContent="Compare" IsTitleVisible="False" SideHeaderWidth="120" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" SideHeaderTemplate="{StaticResource sideHeaderTemplate}" HeaderTemplate="{StaticResource headerTemplate}" Template="{StaticResource WizardPageTemplate }" behaviors:CatalogComparePageBehavior.IsEnabled="True">
037.                    <Grid Margin="5">
038.                        <Grid.RowDefinitions>
039.                            <RowDefinition Height="Auto"/>
040.                            <RowDefinition Height="Auto"/>
041.                        </Grid.RowDefinitions>
042.                        <StackPanel>
043.                            <TextBlock Grid.Column="0" Text="Catalog Compare Options" FontSize="14" FontWeight="Bold"/>
044.                            <TextBlock Margin="10,10,0,0" Grid.Column="0" Text="Compare Type (Missing)" FontSize="12" FontWeight="DemiBold"/>
045.                            <RadioButton  Margin="10,5,0,0" GroupName="CompareType" Content="ID Only" IsChecked="{Binding GuidOnlyCompareType}"  ToolTip="Find catalog items by ID (GUID) only; catalog items with the same name but different IDs will show as missing"/>
046.                            <RadioButton Margin="10,5,0,0" GroupName="CompareType" Content="WorkShare Transfer/Project/Design" IsChecked="{Binding WorkShareCompareType}" ToolTip="Find catalog items with WorkShare matching if an ID (GUID) match is not found"/>
047.                        </StackPanel>
048.                    </Grid>
049.                </telerik:WizardPage>
050.                <telerik:WizardPage x:Name="progressPage" IsSideHeaderVisible="True" ButtonsVisibilityMode="Cancel" AllowNext="False" IsTitleVisible="False" SideHeaderWidth="120" SideHeaderTemplate="{StaticResource sideHeaderTemplate}"  HeaderTemplate="{StaticResource headerTemplate}" Template="{StaticResource WizardPageTemplate}" behaviors:CatalogComparePageBehavior.IsEnabled="True">
051.                    <Grid>
052.                        <Grid.ColumnDefinitions>
053.                            <ColumnDefinition Width="61"/>
054.                            <ColumnDefinition Width="350"/>
055.                        </Grid.ColumnDefinitions>
056.                        <StackPanel Margin="0,20,0,0"  Grid.Column="1">
057.                            <telerik:PersistenceManager.SerializationOptions>
058.                                <telerik:SerializationMetadataCollection>
059.                                    <telerik:PropertyNameMetadata Condition="Except" Expression="Children" SearchType="PropertyName" />
060.                                </telerik:SerializationMetadataCollection>
061.                            </telerik:PersistenceManager.SerializationOptions>
062.                            <TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Comparing Project Catalogs..."/>
063.                            <telerik:RadProgressBar Value="{Binding ProgressPercentage}"  Width="350" Minimum="0" Maximum="100" HorizontalAlignment="Left" VerticalAlignment="Center" Height="20" BorderThickness="2" BorderBrush="{StaticResource SSIGreyDark.Brush}" Foreground="{StaticResource SSIBlueDark.Brush}" />
064.                            <TextBlock Text="{Binding ProgressText}" VerticalAlignment="Center" HorizontalAlignment="Center" />
065.                        </StackPanel>
066.                    </Grid>
067.                </telerik:WizardPage>
068.                <telerik:CompletionWizardPage x:Name="resultsPage" IsSideHeaderVisible="True" ButtonsVisibilityMode="Finish,Cancel" IsTitleVisible="False" AllowFinish="{Binding ShowResultsGrid}" FinishButtonContent="Export" CancelButtonContent="Close" SideHeaderWidth="120" SideHeaderTemplate="{StaticResource sideHeaderTemplate}"  HeaderTemplate="{StaticResource headerTemplate}" Template="{StaticResource WizardPageTemplate}"  behaviors:CatalogComparePageBehavior.IsEnabled="True">
069.                    <telerik:PersistenceManager.SerializationOptions>
070.                        <telerik:SerializationMetadataCollection>
071.                            <telerik:PropertyNameMetadata Condition="Except" Expression="AllowFinish" SearchType="PropertyName" />
072.                        </telerik:SerializationMetadataCollection>
073.                    </telerik:PersistenceManager.SerializationOptions>
074.                    <Grid>
075.                        <TextBlock  Text="No catalog differences detected" FontSize="16" FontWeight="DemiBold" Margin="10,20,0,0" HorizontalAlignment="Left" Visibility="{Binding ShowNoCatalogChanges, Converter={StaticResource BooleanToVisibilityConverter}}">
076.                            <telerik:PersistenceManager.SerializationOptions>
077.                                <telerik:SerializationMetadataCollection>
078.                                    <telerik:PropertyNameMetadata Condition="Except" Expression="Visibility" SearchType="PropertyName" />
079.                                </telerik:SerializationMetadataCollection>
080.                            </telerik:PersistenceManager.SerializationOptions>
081.                        </TextBlock>
082.                        <base:BaseRadGridView Name="_grid"
083.                            GroupRenderMode="Flat"
084.                            AutoGenerateColumns="False"
085.                            ItemsSource="{Binding CatalogEntryList}"
086.                            Grouping="GridGrouping"
087.                            AutoExpandGroups="False"
088.                            persist:Persist.PersistColumnGroups="True"
089.                            persist:Persist.PersistColumnSorting="True"
090.                            ShowGroupPanel="True"
091.                            Margin="-3,-3,-3,-3"
092.                            AlternateRowBackground="#FFF4F4F4"
093.                            AlternationCount="2"
094.                            Visibility="{Binding ShowResultsGrid, Converter={StaticResource BooleanToVisibilityConverter}}">
095.                            <telerik:RadContextMenu.ContextMenu>
096.                                <radGridContextMenu:RadGridContextMenu x:Name="_contextMenu" ExportOptionIsVisible="False"  />
097.                            </telerik:RadContextMenu.ContextMenu>
098.                            <telerik:RadGridView.Columns>
099.                                <telerik:GridViewDataColumn DataMemberBinding="{Binding DatasetCategory}"
100.                                                Header="Category"
101.                                                ShowColumnWhenGrouped="True"
102.                                                DisplayIndex="0"
103.                                                ShowToolTipOnTrimmedText="True"
104.                                                UniqueName="Category"
105.                                                Width="100"/>
106....
107.                            </telerik:RadGridView.Columns>
108.                        </base:BaseRadGridView>
109.                    </Grid>
110.                </telerik:CompletionWizardPage>
111.            </telerik:RadWizard.WizardPages>
112.        </telerik:RadWizard>
113.    </Grid>
114.</base:Window>
Martin Ivanov
Telerik team
 answered on 16 Jan 2020
3 answers
234 views

Hey,

I am currently implementing a RadPDFViewer in my WPF application.

I managed to change the Tooltip Text of the RadPdfViewerToolBar, but I also want to change the Language of the elemnts in the ContextMenu, because my users are not that well with english.

Is there any hidden way I am missing?

 

Second I have a problem with the copy functionality. It is only possible to copy text. Or at least I find no way to copy the pictures.

 

Greetings

Benedikt

Martin
Telerik team
 answered on 16 Jan 2020
3 answers
176 views

Hello,

I am struggeling with a Telerik for WPF project with the .netore controls.

When creating a project, based on dotnet45, i get all Telerik-controls in the toolbox-window of VS2019.

When creating a project, based on netcor30, i get no Telerik-controls in the toolbox-window of VS2019.

I tried the manual way, described on Telerik help pages, but it does`nt work.

If i select a Telerik-Assembly from lib-directory (created by the Telerik-template an VS2019), maybe Telerik.Windows.Controls.dll, i only see a VS progess-bar working and working and working ...

After 5 minutes, i killed VS2019.

I work on Windows10, 1909 (Build 18363.535) with almost .netcore from 3.0, 3.0.1, 3.1, ... installed (SDK, Runtime, Desktop, ...).

VS2019 Professional: 16.4.2

I7 4770k, 32 GB Ram, only SSDs on board.

Can someone help me?

Martin Ivanov
Telerik team
 answered on 16 Jan 2020
2 answers
229 views

Hey,

I have a TimeBar which displays data within a visible time range of several hours and has a max selection range of 30 minutes. Thus I want to change the Date displayed in the Selection Range Title from "MM/dd/yyyy" to "dd.MM.yyyy HH:mm:ss". How can this be achieved?

Example code:

<telerik:RadTimeBar IsSnapToIntervalEnabled="False"
                                            PeriodStart="{Binding AnalysisDetailPeriodStart, Mode=TwoWay}" PeriodEnd="{Binding AnalysisDetailPeriodEnd, Mode=TwoWay}" VisiblePeriodStart="{Binding AnalysisDetailVisiblePeriodStart, Mode=TwoWay}" VisiblePeriodEnd="{Binding AnalysisDetailVisiblePeriodEnd, Mode=TwoWay}"
                                            SelectionStart="{Binding AnalysisDetailSelectedStart, Mode=TwoWay}" SelectionEnd="{Binding AnalysisDetailSelectedEnd, Mode=TwoWay}" MaxSelectionRange="{Binding AnalysisDetailMaxSelectionRange, Mode=OneWay}">

                        <telerik:RadTimeBar.Resources>
                            <utils:HourFormatterProvider x:Key="HourFormatterProvider"/>
                        </telerik:RadTimeBar.Resources>

                        <telerik:RadTimeBar.Intervals>
                            <telerik:MinuteInterval  />
                            <telerik:HourInterval FormatterProvider="{StaticResource HourFormatterProvider}" />
                            <telerik:DayInterval />
                        </telerik:RadTimeBar.Intervals>

                        <telerik:RadLinearSparkline ItemsSource="{Binding ObservableData}" XValuePath="Date" YValuePath="Occurrences" />
                    </telerik:RadTimeBar>

Andy
Top achievements
Rank 1
 answered on 16 Jan 2020
1 answer
167 views

 

how i can use the exemple of  wpf erp without web service just connect to local data  base

Vladimir Stoyanov
Telerik team
 answered on 16 Jan 2020
4 answers
210 views

Hi all,

I have a problem using MergedCells in RadGridView.

Let's take an example.

Let's say we have this class :

 

public class TestItem
{
    private int _id;
    private int _modifierId;
    private int _deleteId;

    public int Id
    {
       get { return _id; }
       set { _id = value; RaisePropertyChanged("Id"); }
    }

    public int ModifierId
    {
      get { return _modifierId; }
      set { _modifierId = value; RaisePropertyChanged("ModifierId"); }
    }

    public int DeleteId
    {
      get { return _deleteId; }
      set { _deleteId = value; RaisePropertyChanged("DeleteId"); }
    }
}

 

And this class to create a collection of TestItems

public class TestCollection
    : ObservableCollection<TestItem>
{
    public TestCollection(IEnumerable<TestItem> items)
        : base(items)
    {
    }
}

 

With this simple XAML :

<telerik:RadGridView ItemsSource="{Binding Collection}"
              MergedCellDirection="Vertical"
              GroupRenderMode="Flat">
    <telerik:RadGridView.Columns>
        <telerik:GridViewDataColumn DataMemberBinding="{Binding ModifierId}"
                           DataFormatString="{}{0:N0}"
                           IsCellMergingEnabled="True" />
 
          <telerik:GridViewDataColumn DataMemberBinding="{Binding Id}"
                          DataFormatString="{}{0:N0}"
                          IsCellMergingEnabled="True" />
 
            <telerik:GridViewDataColumn DataMemberBinding="{Binding DeleteId}"
                          DataFormatString="{}{0:N0}"
                          IsCellMergingEnabled="True" />
    </telerik:RadGridView.Columns>
</telerik:RadGridView>

 

How can we create, for ModifierId and for DeleteId, a merged cell with button ?

And when we click on a button we make an action ?

 

 

 

 

 

 

 

 

 

 

Dilyan Traykov
Telerik team
 answered on 15 Jan 2020
4 answers
174 views
Hi,

I'm using Q1 2015 with .NET 4.

The Hyperlink in the ContentTemplate of the DiagramShape is not working. If you remove the BusyIndicator the Hyperlink works.

<Window x:Class="Hyperlink.MainWindow"
        Title="MainWindow"
        Height="350"
        Width="525">
    <Grid>
        <telerik:RadBusyIndicator>
            <telerik:RadDiagram IsEditable="False"
                                SelectionMode="None">
                <telerik:RadDiagramShape>
                    <telerik:RadDiagramShape.ContentTemplate>
                        <DataTemplate>
                            <TextBlock>
                                <Hyperlink NavigateUri="http://www.telerik.com"
                                           RequestNavigate="OnNavigate">
                                    <TextBlock Text="Telerik"></TextBlock>
                                </Hyperlink>
                            </TextBlock>
                        </DataTemplate>
                    </telerik:RadDiagramShape.ContentTemplate>
                </telerik:RadDiagramShape>
            </telerik:RadDiagram>
        </telerik:RadBusyIndicator>
    </Grid>
</Window>

using System.Diagnostics;
using System.Windows;
using System.Windows.Navigation;
 
namespace Hyperlink
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void OnNavigate(object sender, RequestNavigateEventArgs e)
        {
            Process.Start(e.Uri.AbsoluteUri);
            e.Handled = true;
        }
    }
}

Thanks
Frank
Dilyan Traykov
Telerik team
 answered on 15 Jan 2020
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
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
Licensing
WebCam
CardView
DataBar
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?