Telerik Forums
UI for WPF Forum
9 answers
575 views

Hi,

 

Trying to see what can I change to improve performance for RadDiagram.

 

1- The goal is to show 2000+ hexagon.

2- Every hexagon has the same size, but it's color content might change. Every hexagon has a binding to a Viewmodel item.

3- Hexagons are grouped inside containers. The containers are pretty much transparent, except for its header.

4- There are no connectors and for now at least, users can't drag/delete/add items.

5- The diagram is contained inside a RadDocking and the docking is inside a regular WPF Tab.

When testing with 300 items there is a 4 second wait after the UI is loaded until the UI can be interacted with.

 

I am wondering, giving my scenario, what can I do to improve performance, giving that after loading the nodes don't change position/size.

 

 

 

Tulio
Top achievements
Rank 1
 answered on 19 Mar 2019
1 answer
128 views

hello i have large List of Points with WKT Geometry.How can i load fast,display and selected items?

I tried AsyncSqlGeospatialDataReader, but it is very slow.I cant move map until loads all points....

I display point by itemtemplate <ellipse ...

How can i load faster, and can selectionItems?

Dinko | Tech Support Engineer
Telerik team
 answered on 18 Mar 2019
5 answers
160 views

Hi!

 

I have a diagram defined inside a docking window that can be hidden.

The NavigationPane works fine updating when there are changes to my diagram. However when I hide the Docking panel that contains the diagram (hiding the diagram), the navigation pane doesn't get updated anymore.

 

Is there a way to workaround that?

 

Thanks!

Dinko | Tech Support Engineer
Telerik team
 answered on 18 Mar 2019
3 answers
275 views

Hi,

I've assigned a command to a RadHyperlinkButton. The CanExecute handler is being invoked as expected, but clicking on the RadHyperlinkButton does not invoke the Executed handler. Is this by design? And if so, is it possible to force the execution upon click?

Best regards

Michael

Vladimir Stoyanov
Telerik team
 answered on 18 Mar 2019
1 answer
80 views

Is there any possibility of aligning the zeros of the axes, in a graph that contains more than one axis?

In the iamgen you can observe a graph with two axes where the zero of the axes is at different heights. The idea would be to adjust them to the same height. Thank you.

Martin Ivanov
Telerik team
 answered on 18 Mar 2019
2 answers
258 views
I'm trying to use RadPrompt (and RadAlert/RadConfirmation) in a WPF app using Prism.  I have followed this guide: https://www.telerik.com/support/code-library/integrating-raddialogs-(confirm-alert-prompt)-with-prism's-interactionrequest-using-mvvm .  At the point I raise the interaction request, I can see that the RadWindow.Prompt gets called (and it's Owner is set to the calling Window), but no prompt window shows.  I can't interact with the owner window so that suggests the prompt does exist, it just doesn't appear to have any visual element.  What might I be missing here?
Rob
Top achievements
Rank 1
 answered on 18 Mar 2019
6 answers
157 views

When using AutoCompleteBox with IME, the AutoCompleteBox may "steal" characters from the IME input.

For example, if there is an auto complete entry named "Hello", and we type "HA" in the AutoCompleteBox with an IME, the initial character "H" will be stolen by the AutoCompleteBox, leaving only "A". 

Hillin
Top achievements
Rank 1
 answered on 18 Mar 2019
4 answers
235 views
When i set SelectedItem back to MultiColumnComboBox programmatically, if the selectedItem is below the top items, not in view, the control cannot auto scroll to the right position,so could you expose a ScrollIntoView method. 
Huan jia
Top achievements
Rank 1
Iron
 answered on 18 Mar 2019
2 answers
103 views

Hello, I dont know why, on most controls i cannot create a copy and a new template or style for yours controls to make generic bindable resource template/style

neither using visual studio nor blend for vs. Can you provide all templates and styles for your controls?

Dominik
Top achievements
Rank 2
 answered on 16 Mar 2019
5 answers
132 views

I want DataForm to have a default alignment. However, the default alignment does not appear as sample as shown below. It is not known that the item can also be set from the attribute. I want to know how to change the settings.

 

attached file : MyUI.jpg  /  SampleUI.jpg

 

XAML

<StackPanel>
    <telerik:RadGridView x:Name="gvGridView" ItemsSource="{Binding EtcRegistrationViewModel}" CanUserGroupColumns="False" ShowGroupPanel="False" GroupRenderMode="Flat" RowIndicatorVisibility="Collapsed" />
    <telerik:RadDataPager Source="{Binding Items, ElementName=gvGridView}" DisplayMode="FirstLastPreviousNextNumeric" PageSize="22"/>
</StackPanel>
 
<Grid Margin="16,0,0,0" Grid.Column="1">
    <telerik:RadDataForm x:Name="myRadDataForm" ItemsSource="{Binding EtcRegistrationViewModel}" Width="400"/>
</Grid>

 

ViewModel

public class EtcServiceRegistrationViewModel
{
    private ICollectionView etcRegistrationViewModel = null;
    public ICollectionView EtcRegistrationViewModel
    {
        get
        {
            if (this.etcRegistrationViewModel == null)
            {
                ObservableCollection<EtcServiceRegistrationModel> etcRegistrationModel = new ObservableCollection<EtcServiceRegistrationModel>();
                etcRegistrationModel.Add(new EtcServiceRegistrationModel("123-12-12354", new DateTime(0001, 01, 01), new DateTime(0001, 01, 01), false, new DateTime(2018, 12, 15), new DateTime(9999, 12, 31), true));
                etcRegistrationModel.Add(new EtcServiceRegistrationModel("123-12-12123", new DateTime(2018, 12, 15), new DateTime(9999, 12, 31), true, new DateTime(0001, 01, 01), new DateTime(0001, 01, 01), false));
 
                this.etcRegistrationViewModel = new QueryableCollectionView(etcRegistrationModel);
                 
            }
            return this.etcRegistrationViewModel;
        }
    }
}

 

Model

public class EtcServiceRegistrationModel : ObservableObject, IEditableObject
{
    EtcServiceRegistrationData backupEtcServiceRegistrationData;
    private string consumerNumber;
    private DateTime silverCareStartingDate;
    private DateTime silverCareEndingDate;
    private bool silverCareActive;
    private DateTime homeLeakageStartingDate;
    private DateTime homeLeakageEndingDate;
    private bool homeLeakageActive;
 
    public EtcServiceRegistrationModel()
    {
 
    }
 
    public EtcServiceRegistrationModel(string _consumerNumber, DateTime _silverCareStartingDate, DateTime _silverCareEndingDate, bool _silverCareActive, DateTime _homeLeakageStartingDate, DateTime _homeLeakageEndingDate, bool _homeLeakageActive)
    {
        this.backupEtcServiceRegistrationData = new EtcServiceRegistrationData();
        this.backupEtcServiceRegistrationData.consumerNumber = _consumerNumber;
        this.consumerNumber = _consumerNumber;
        this.backupEtcServiceRegistrationData.silverCareStartingDate = _silverCareStartingDate;
        this.silverCareStartingDate = _silverCareStartingDate;
        this.backupEtcServiceRegistrationData.silverCareEndingDate = _silverCareEndingDate;
        this.silverCareEndingDate = _silverCareEndingDate;
        this.backupEtcServiceRegistrationData.silverCareActive = _silverCareActive;
        this.silverCareActive = _silverCareActive;
        this.backupEtcServiceRegistrationData.homeLeakageStartingDate = _homeLeakageStartingDate;
        this.homeLeakageStartingDate = _homeLeakageStartingDate;
        this.backupEtcServiceRegistrationData.homeLeakageEndingDate = _homeLeakageEndingDate;
        this.homeLeakageEndingDate = _homeLeakageEndingDate;
        this.backupEtcServiceRegistrationData.homeLeakageActive = _homeLeakageActive;
        this.homeLeakageActive = _homeLeakageActive;
    }
 
    public struct EtcServiceRegistrationData
    {
        internal string consumerNumber;
        internal DateTime silverCareStartingDate;
        internal DateTime silverCareEndingDate;
        internal bool silverCareActive;
        internal DateTime homeLeakageStartingDate;
        internal DateTime homeLeakageEndingDate;
        internal bool homeLeakageActive;
    }
 
    public string ConsumerNumber
    {
        get
        {
            return consumerNumber;
        }
        set
        {
            consumerNumber = value;
            RaisePropertyChanged(() => this.ConsumerNumber);
        }
    }
 
    public DateTime SilverCareStartingDate
    {
        get
        {
            return silverCareStartingDate;
        }
        set
        {
            silverCareStartingDate = value;
            RaisePropertyChanged(() => this.SilverCareStartingDate);
        }
    }
 
    public DateTime SilverCareEndingDate
    {
        get
        {
            return silverCareEndingDate;
        }
        set
        {
            silverCareEndingDate = value;
            RaisePropertyChanged(() => this.SilverCareEndingDate);
        }
    }
 
    public bool SilverCareActive
    {
        get
        {
            return silverCareActive;
        }
        set
        {
            silverCareActive = value;
            RaisePropertyChanged(() => this.SilverCareActive);
        }
    }
 
    public DateTime HomeLeakageStartingDate
    {
        get
        {
            return homeLeakageStartingDate;
        }
        set
        {
            homeLeakageStartingDate = value;
            RaisePropertyChanged(() => this.HomeLeakageStartingDate);
        }
    }
 
    public DateTime HomeLeakageEndingDate
    {
        get
        {
            return homeLeakageEndingDate;
        }
        set
        {
            homeLeakageEndingDate = value;
            RaisePropertyChanged(() => this.HomeLeakageEndingDate);
        }
    }
 
    public bool HomeLeakageActive
    {
        get
        {
            return homeLeakageActive;
        }
        set
        {
            homeLeakageActive = value;
            RaisePropertyChanged(() => this.HomeLeakageActive);
        }
    }
 
 
    public void BeginEdit()
    {
 
    }
 
    public void CancelEdit()
    {
        ConsumerNumber = this.backupEtcServiceRegistrationData.consumerNumber;
    }
 
    public void EndEdit()
    {
        this.backupEtcServiceRegistrationData.consumerNumber = ConsumerNumber;
    }
}

 

Vladimir Stoyanov
Telerik team
 answered on 15 Mar 2019
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?