Telerik Forums
UI for WPF Forum
3 answers
3.8K+ views

Hello,

I'm using version: 2016.1.217

How can I modify background color \ foreground color of a specified row ?

Binding is not mandatory in this case. 

Thank you,

Zvika 

Ras Ran
Top achievements
Rank 2
Iron
Veteran
Iron
 answered on 20 Jan 2020
3 answers
295 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
289 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
350 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
330 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
228 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
170 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
199 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
148 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
203 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
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?