Telerik Forums
UI for WPF Forum
5 answers
451 views
I have several textboxes in my property grid that are sometimes larger than the grid, I don't want the grid to scroll horizontally. I added code in the loaded event to disable the scrollbar which works well. However when I click the category or A-Z button the scrollbar appears. I tried using the sorted and grouped method to disable the scrollbar but that doesn't seem to work. Any suggestions?
Yoan
Telerik team
 answered on 18 Jun 2015
1 answer
348 views

Hi all,

 I am using the RadRichTextBox to display a docx file in ReadOnly mode. 

By default, the RadRichTextBox shows a gray background behind the page. I would like to change this from gray to black, but I cannot figure out how. I would rather not include a theme from telerik in my assembly as this is the only visual change I need to make.

Just to be clear, I want to change the background behind the page, not the color of the page itself.

Thanks

Tanya
Telerik team
 answered on 18 Jun 2015
1 answer
146 views

After looking at the CRM demo I decided to implement a similar type of functionality where based on a bool state the grid would show either a few columns or all columns

      <telerik:RadGridView helpers:GridViewColumnHelper.HideNonImportantColumns="{Binding IsInOverviewState}"
                             ItemsSource="{Binding Contacts}" ColumnWidth="*"

I am using Prism, everything works fine if I set a Minimum Height and Width of the main Shell and set the WindowState to normal. However, if I start the application maximized without these settings, when the grid is loaded, although it shows the right number of columns the width of the grid is incorrect (too big), if I slightly adjust the size of the window everything sorts itself out. 

 This is the grid definition 

 <Grid.ColumnDefinitions>

            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="2*"/>
            <ColumnDefinition Width="2*"/>
        </Grid.ColumnDefinitions>

 if you see the attached files you will see what I mean.

Thanks for any help in advance. 


 

 

 

Dimitrina
Telerik team
 answered on 18 Jun 2015
3 answers
387 views

I have a GridView that has 3 columns.  However, the host Grid needs to be just the width of the 1st column.  I have bound the column's Width Property to my Model View as shown:

 

<telerik:GridViewDataColumn
    Header="Name"
    DataMemberBinding="{Binding Name}"
    Width="{Binding NameColumnWidth}"
    IsReadOnly="True" />

However, the Cell should resize only based on the content size so it is defined as SizeToCells:

 

private GridViewLength _nameColumnWidth =
    new GridViewLength(0, GridViewLengthUnitType.SizeToCells);
 
[Display(
    AutoGenerateField=false)]
[System.Xml.Serialization.XmlIgnore]
public GridViewLength NameColumnWidth
{
    get { return _nameColumnWidth; }
    set
    {
        if (_nameColumnWidth != value)
        {
            _nameColumnWidth = value;
            notifyPropertyChanged("NameColumnWidth");
        }
    }
}

How can I set the grid width to match the width of the name column's width?  Is there a converter that takes the AutoSize value from the column and converts it to Pixels?  Or, can I set the System.Windows.GridLength = NameColumnWidth?  Can I do this another way if I don't use SizeToCells?

Stefan
Telerik team
 answered on 17 Jun 2015
3 answers
308 views
Hello.

Here is code of my window:
<telerik:RadDocking x:Name="radDocking" PanesSource="{Binding Panes}">
        <telerik:RadDocking.Resources>
            <Style x:Key="RadPaneCustomStyle" TargetType="{x:Type telerik:RadPane}" BasedOn="{StaticResource RadPaneStyle}">
                <Setter Property="Header" Value="{Binding Header}" />
                <Setter Property="ToolTip" Value="{Binding ToolTip}" />
                <Setter Property="IsHidden" Value="{Binding IsHidden, Mode=TwoWay}" />
                <Setter Property="IsActive" Value="{Binding IsActive, Mode=TwoWay}" />
                <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
            </Style>
            <Style TargetType="{x:Type telerik:RadPane}" BasedOn="{StaticResource RadPaneCustomStyle}">
                <Setter Property="CanDockInDocumentHost" Value="True" />
            </Style>
            <Style TargetType="{x:Type telerik:RadDocumentPane}" BasedOn="{StaticResource RadPaneCustomStyle}">
                <Setter Property="CanDockInDocumentHost" Value="True" />
            </Style>
        </telerik:RadDocking.Resources>
 
        <telerik:RadDocking.DockingPanesFactory>
            <docking:CustomDockingPanesFactory />
        </telerik:RadDocking.DockingPanesFactory>
        <telerik:RadDocking.CurrentSaveLoadLayoutHelper>
            <docking:CustomSaveLoadLayoutHelper />
        </telerik:RadDocking.CurrentSaveLoadLayoutHelper>
 
        <telerik:RadSplitContainer InitialPosition="DockedLeft">
            <telerik:RadPaneGroup x:Name="leftGroup" telerik:RadDocking.SerializationTag="leftGroup" />
        </telerik:RadSplitContainer>
 
        <telerik:RadSplitContainer InitialPosition="DockedRight">
            <telerik:RadPaneGroup x:Name="rightGroup" telerik:RadDocking.SerializationTag="rightGroup" />
        </telerik:RadSplitContainer>
 
        <telerik:RadSplitContainer InitialPosition="DockedBottom">
            <telerik:RadPaneGroup x:Name="bottomGroup" telerik:RadDocking.SerializationTag="bottomGroup" />
        </telerik:RadSplitContainer>
    </telerik:RadDocking>

public void SaveLayout()
{
    var docking = DockingManager as RadDocking;
 
    using (var stream = File.Open(GetLayoutFilePath(State), FileMode.Create, FileAccess.Write, FileShare.ReadWrite))
    {
        docking.SaveLayout(stream);
    }
}
 
public void LoadLayout(WorkspaceState state)
{
    var docking = DockingManager as RadDocking;
 
    using (var stream = File.Open(GetLayoutFilePath(State), FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
    {
        docking.LoadLayout(stream);
    }
}

So, the problem is:
When i create some pads and save/load layout and dont hide or pin it it's ok. But when i pin it loose the style, so header become empty.
When i am hiding it and restoring, there is exseption:
System.InvalidOperationException was unhandled
  HResult=-2146233079
  Message=Cannot modify the logical children for this node at this time because a tree walk is in progress.
  Source=PresentationFramework
  StackTrace:
       at System.Windows.FrameworkElement.RemoveLogicalChild(Object child)
       at MS.Internal.Controls.InnerItemCollectionView.ClearModelParent(Object item)
       at MS.Internal.Controls.InnerItemCollectionView._RemoveAt(Int32 index, Int32 indexR, Object item)
       at MS.Internal.Controls.InnerItemCollectionView.Remove(Object item)
       at System.Windows.Controls.ItemCollection.Remove(Object removeItem)
       at Telerik.Windows.Controls.RadPaneGroup.CloseSinglePane(RadPane pane) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Docking\Docking\Docking\RadPaneGroup.cs:line 1522
       at Telerik.Windows.Controls.RadPaneGroup.ClosePane(RadPane pane) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Docking\Docking\Docking\RadPaneGroup.cs:line 653
       at Telerik.Windows.Controls.RadDocking.HidePane(RadPane pane) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Docking\Docking\Docking\RadDocking.cs:line 430
       at Telerik.Windows.Controls.RadPane.Close() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Docking\Docking\Docking\RadPane.cs:line 1461
       at Telerik.Windows.Controls.RadPane.OnIsHiddenChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Docking\Docking\Docking\RadPane.cs:line 1226
       at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
       at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
       at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
       at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
       at System.Windows.StyleHelper.ApplyStyleOrTemplateValue(FrameworkObject fo, DependencyProperty dp)
       at System.Windows.StyleHelper.InvalidateContainerDependents(DependencyObject container, FrugalStructList`1& exclusionContainerDependents, FrugalStructList`1& oldContainerDependents, FrugalStructList`1& newContainerDependents)
       at System.Windows.StyleHelper.DoStyleInvalidations(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle)
       at System.Windows.StyleHelper.UpdateStyleCache(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle, Style& styleCache)
       at System.Windows.FrameworkElement.OnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
       at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
       at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
       at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
       at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
       at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
       at System.Windows.FrameworkElement.UpdateStyleProperty()
       at System.Windows.TreeWalkHelper.InvalidateStyleAndReferences(DependencyObject d, ResourcesChangeInfo info, Boolean containsTypeOfKey)
       at System.Windows.TreeWalkHelper.OnResourcesChanged(DependencyObject d, ResourcesChangeInfo info, Boolean raiseResourceChangedEvent)
       at System.Windows.FrameworkElement.OnAncestorChangedInternal(TreeChangeInfo parentTreeState)
       at System.Windows.TreeWalkHelper.OnAncestorChanged(DependencyObject d, TreeChangeInfo info, Boolean visitedViaVisualTree)
       at System.Windows.DescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
       at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
       at System.Windows.DescendentsWalker`1.VisitNode(FrameworkElement fe, Boolean visitedViaVisualTree)
       at System.Windows.DescendentsWalker`1.VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
       at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
       at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
       at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
       at System.Windows.DescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
       at MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
       at System.Windows.DescendentsWalker`1.VisitNode(FrameworkElement fe, Boolean visitedViaVisualTree)
       at System.Windows.DescendentsWalker`1.VisitNode(DependencyObject d, Boolean visitedViaVisualTree)
       at System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren)
       at System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren)
       at System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d)
       at System.Windows.DescendentsWalker`1.StartWalk(DependencyObject startNode, Boolean skipStartNode)
       at MS.Internal.PrePostDescendentsWalker`1.StartWalk(DependencyObject startNode, Boolean skipStartNode)
       at System.Windows.TreeWalkHelper.InvalidateOnTreeChange(FrameworkElement fe, FrameworkContentElement fce, DependencyObject parent, Boolean isAddOperation)
       at System.Windows.FrameworkElement.ChangeLogicalParent(DependencyObject newParent)
       at System.Windows.FrameworkElement.AddLogicalChild(Object child)
       at System.Windows.LogicalTreeHelper.AddLogicalChild(FrameworkElement parentFE, FrameworkContentElement parentFCE, Object child)
       at MS.Internal.Controls.InnerItemCollectionView.SetModelParent(Object item)
       at MS.Internal.Controls.InnerItemCollectionView.Add(Object item)
       at System.Windows.Controls.ItemCollection.Add(Object newItem)
       at Telerik.Windows.Controls.RadDocking.AddSplitContainer(RadSplitContainer radSplitContainer) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Docking\Docking\Docking\RadDocking.cs:line 309
       at Telerik.Windows.Controls.Docking.DockingLayoutFactory.LoadDocking(XmlReader reader) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Docking\Docking\DockingLayoutFactory.cs:line 236
       at Telerik.Windows.Controls.RadDocking.LoadLayout(Stream source, Boolean raiseEventsIfNoSerializationTag) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Docking\Docking\Docking\RadDocking.Layout.cs:line 77
       at Telerik.Windows.Controls.RadDocking.LoadLayout(Stream source) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Docking\Docking\Docking\RadDocking.Layout.cs:line 58
       at GameEd.IDE.Services.WorkspaceService.LoadLayout(WorkspaceState state) in d:\TFS\GameEd-Telerik\IDE\GameEd.IDE\Services\WorkspaceService.Layout.cs:line 107
       at GameEd.IDE.Services.WorkspaceService.LoadLayout() in d:\TFS\GameEd-Telerik\IDE\GameEd.IDE\Services\WorkspaceService.Layout.cs:line 96
       at Catel.MVVM.Command`2.Execute(TExecuteParameter parameter, Boolean ignoreCanExecuteCheck)
       at Catel.MVVM.Command`2.Execute(TExecuteParameter parameter)
       at Catel.MVVM.Command`2.Execute(Object parameter)
       at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
       at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
       at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
       at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
       at System.Windows.Threading.DispatcherOperation.InvokeImpl()
       at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Windows.Threading.DispatcherOperation.Invoke()
       at System.Windows.Threading.Dispatcher.ProcessQueue()
       at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
       at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
       at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
       at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
       at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
       at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
       at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
       at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
       at System.Windows.Threading.Dispatcher.Run()
       at System.Windows.Application.RunDispatcher(Object ignore)
       at System.Windows.Application.RunInternal(Window window)
       at System.Windows.Application.Run(Window window)
       at System.Windows.Application.Run()
       at GameEd.App.Main() in d:\TFS\GameEd-Telerik\GameEd\obj\Debug\obj\Debug\decoratedxaml\App.g.cs:line 0
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException:

If i remove IsHidden binding it's work perfectly.
Michele
Top achievements
Rank 2
 answered on 17 Jun 2015
4 answers
204 views

I have stumbled upon an issue where I only want the user to be able to edit the lower half of a matrix (It is a matrix that is symmetrical across the diagonal). I am creating a datatable based on a 2d array. 

 the grid is defined like this:

<telerik:RadGridView x:Name="matrixView" ItemsSource="{Binding MatrixTable}"
                             CanUserDeleteRows="False" CanUserInsertRows="False"
                             CanUserReorderColumns="False" CanUserSortColumns="False"
                             ShowGroupPanel="False"
                             GridLinesVisibility="Both"
                             SelectionUnit="Cell"
                             Width="AUto" Height="Auto">
</telerik:RadGridView>

And then I have the following viewmodel:

 

public class MatrixViewModel
    {
        public DataTable MatrixTable { get; set; }
 
        public MatrixViewModel(double[,] matrix)
        {
            this.MatrixTable = BuildTable(matrix);
        }
 
        private DataTable BuildTable(double[,] matrix)
        {
            var table = new DataTable();
 
            table.Columns.Add("Name", typeof(string));
            for (int col = 0; col < matrix.GetLength(0); col++)
            {
                table.Columns.Add(col.ToString(), typeof(double));
            }
 
            for (int i = 0; i < matrix.GetLength(0); i++)
            {
                var row = table.NewRow();
                row[0] = i.ToString();
 
                for (int j = 0; j <= i; j++)
                {
                    row[j + 1] = matrix[i, j];
                }
                table.Rows.Add(row);
            }
            return table;
        }
    }

NullvalueToBoolean is defined as follows:

[ValueConversion(typeof(object), typeof(Boolean))]
    public class NullValueToBoolean : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return value == null;
        }
 
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

And finally the codebehind:

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            this.DataContext = new MatrixViewModel(new double[,]{
                {1,0,0},
                {0.25,1,0},
                {0.25,0.75,1}
            });
            this.matrixView.AutoGeneratingColumn += matrixView_AutoGeneratingColumn;
        }
 
        void matrixView_AutoGeneratingColumn(object sender, GridViewAutoGeneratingColumnEventArgs e)
        {
            var column = (GridViewDataColumn)e.Column;
            column.IsFilterable = false;
 
            if (column.DataType == typeof(double?))
            {
                column.IsReadOnlyBinding = new Binding(column.DataMemberBinding.Path.Path)
                {
                    Converter = new NullValueToBoolean()
                };
            }
            else
            {
                column.IsReadOnly = true;
            }
        }
    }

 The code produces the following output when I try to edit one of the cells that are not readonly:
System.Windows.Data Error: 40 : BindingExpression path error: '0' property not found on 'object' ''DataRow' (HashCode=9659819)'. BindingExpression:Path=0; DataItem='DataRow' (HashCode=9659819); target element is 'TextBox' (Name=''); target property is 'Text' (type 'String')

However, if I remove the code that sets the ReadOnlyBinding, editing works fine. Do you have a suggestion on how to fix/avoid this issue? Maybe there is a better way to solve this problem with the Telerik UI for WPF?

Stefan
Telerik team
 answered on 17 Jun 2015
10 answers
148 views

 Hallo,



i m trying reload my diagram. Saving is going well but if i m try load data from xml string shapes are loaded correctly but there are no connections between shapes. I m using ObservableGraphSourceBase<GraphNode,Link> as graph source and it inherit ISerializableGraphSource interface. During the debug i ve found out that method DeserializeLink is never call. Could you be so kind and give some advice how to figure it out.



Thank you very much.

Best regards 

Jakub



ps: here my serialization class

 

001.public partial class KnihyXmlGraphSource : ISerializableGraphSource
002.    {
003.        private List<GraphNode> SerializedNodes = new List<GraphNode>();
004.        public void SerializeNode(object model, SerializationInfo info)
005.        {
006.            GraphNode node = model as GraphNode;
007.             
008.            string pom = node.ToString();
009.            info["Content"] = node.Content;
010.            info["ShapeType"] = node.ToString();
011.            info["Id"] = node.GetID();
012.             
013.        }
014. 
015.        public void SerializeLink(ILink link, SerializationInfo info)
016.        {
017.            var myLink = link as Link;
018.            if (myLink.Source != null)
019.            {
020.                info["Source"] = myLink.Source.GetID();
021.            }
022.            if (myLink.Target != null)
023.            {
024.                info["Target"] = myLink.Target.GetID();
025.            }
026.            if (myLink.Type != null)
027.            {
028.                info["Type"] = myLink.Type;
029.            }
030.        }
031.         
032.        public ILink DeserializeLink(IConnection connection, SerializationInfo info)
033.        {
034.            Link link = new Link();
035.            string sourceID = string.Empty;
036.            string targetID = string.Empty;
037. 
038. 
039.            if (info["Target"] != null)
040.            {
041.                targetID = info["Target"].ToString();
042.            }
043.            if (info["Source"] != null)
044.            {
045.                sourceID = info["Source"].ToString();
046.            }
047.            if (info["Type"] != null)
048.            {
049.                switch (info["Type"].ToString())
050.                {
051.                    case Constants.Type1:
052.                        link.Type = LinkType.Typ1;
053.                        break;
054.                    case Constants.Type2:
055.                        link.Type = LinkType.Typ2;
056.                        break;
057.                    default:
058.                        link.Type = LinkType.Typ3;
059.                        break;
060.                }
061.            }
062.            GraphNode source = SerializedNodes.FirstOrDefault(x => x.GetID().Equals(sourceID));
063.            if (source != null)
064.            {
065.                link.Source = source;
066.            }
067. 
068.            GraphNode target = SerializedNodes.FirstOrDefault(x => x.GetID().Equals(targetID));
069.            if (target != null)
070.            {
071.                link.Target = target;
072.            }
073. 
074.            if (info["Type"] != null)
075.            {
076.                string type = info["Source"].ToString();
077.                switch (type)
078.                {
079.                    case Constants.Type1:
080.                        link.Type = LinkType.Typ1;
081.                        break;
082.                    case Constants.Type2:
083.                        link.Type = LinkType.Typ2;
084.                        break;
085.                    case Constants.Type3:
086.                        link.Type = LinkType.Typ3;
087.                        break;
088.                    default:
089.                        break;
090.                }
091.            }
092.            return link;
093.        }
094. 
095.        public object DeserializeNode(IShape shape, SerializationInfo info)
096.        {
097.            GraphNode node = new GraphNode();
098. 
099.            string pom = string.Empty;
100.            if (info["ShapeType"] != null)
101.            {
102.                pom = (info["ShapeType"].ToString());
103.                pom = pom.Substring(23);
104.                switch (pom)
105.                {
106.                    case Constants.DescriptionNode:
107.                        node = new DescriptionNode();
108.                        node.shape = MindmapItem.ShapeTypes.Description;
109.                        break;
110.                    case Constants.AuthorNode:
111.                        node = new AuthorNode();
112.                        node.shape = MindmapItem.ShapeTypes.Author;
113.                        break;
114.                    case Constants.GenreNode:
115.                        node = new GenreNode();
116.                        node.shape = MindmapItem.ShapeTypes.Genre;
117.                        break;
118.                    case Constants.BookDescriptionNode:
119.                        node = new BookDescriptionNode();
120.                        node.shape = MindmapItem.ShapeTypes.BookDescription;
121.                        break;
122.                    default:
123.                        break;
124.                }
125.            }
126. 
127.            if (info["Position"] != null)
128.            {
129.                node.Position = Utils.ToPoint(info["Position"].ToString()).Value;
130.            }
131. 
132.            if (info["Content"] != null)
133.            {
134.                node.Content = info["Content"].ToString();
135.            }
136. 
137. 
138.            SerializedNodes.Add(node);
139.            return node;
140.        }
141.    }

Peshito
Telerik team
 answered on 17 Jun 2015
1 answer
116 views

Hello,

this dialog should have a fixed size for the column width selector: as it doesn't have one, the width of the dialog changes when we change the size.

The same happens when we change the value in any of the up/down that are in the dialog.

This is not a very good user experience.

Evgenia
Telerik team
 answered on 17 Jun 2015
3 answers
146 views

I have a an MVVM app where a page has a gridview bound to an entitiyframeworkdatasource.  The data loads as soon as the page loads and takes a while... so it blocks the UI thread.  Is there a way to prevent this?  I tried using another thread but couldn't get it to work right.

 

Also, how would I go about saving and undoing changes?  I created a button to save where I just call SaveChanges on the context.. and that works... But if I revert all changed entities in the context, the grid doesn't update the rows.

Stefan
Telerik team
 answered on 16 Jun 2015
2 answers
196 views

Are the 3d charting features depreciated?

 http://docs.telerik.com/devtools/wpf/controls/radchart/features/chart-types/3D-charts

 

The above link is all the documentation I can find for 3d charting features. 

 

Thanks

Bart

Bartley
Top achievements
Rank 1
Iron
 answered on 16 Jun 2015
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?