Telerik Forums
UI for WPF Forum
1 answer
131 views

Can someone please inform me how you can set this type of control either in xaml or code behind to be in TypeOver mode rather than Insert mode?

I have searched the web and can't seem to find anything...

Petar Mladenov
Telerik team
 answered on 05 Feb 2020
6 answers
266 views
Hello,

I am binding the ItemsSource of a RadToolbarTray to a ViewModel property to create one or more toolbars dynamically via the following.

<telerik:RadToolBarTray telerikQuickStart:ThemeAwareBackgroundBehavior.IsEnabled="True"
                        ItemsSource="{Binding MergedToolbarCommands}"
                        x:Name="ToolbarTray">
    <telerik:RadToolBarTray.ItemTemplate>
        <DataTemplate>
            <telerik:RadToolBar ItemsSource="{Binding}"
                                OverflowMode="AsNeeded">
                <telerik:RadToolBar.ItemContainerStyle>
                    <Style TargetType="{x:Type ContentPresenter}">
                        <Setter Property="ToolBar.OverflowMode" Value="Never" />
                    </Style>
                </telerik:RadToolBar.ItemContainerStyle>
            </telerik:RadToolBar>
        </DataTemplate>
    </telerik:RadToolBarTray.ItemTemplate>
</telerik:RadToolBarTray>

Unfortunately, the ToolbarTray is not displayed. When I inspect it with Snoop, I notice that all my Toolbars have their DataContexts set correctly and Snoop correctly renders each one individually, but the RadToolbarTray measures itself to have zero height, so it is not displayed. How do I get The RadToolbarTray to measure itself correctly?

Cheers,

Mike
Petar Mladenov
Telerik team
 answered on 04 Feb 2020
10 answers
292 views
I have databound RadTreeViewItem.IsExpanded in my item container style, but when the item is created, it ignores the binding (which is set to true) and sets the property to false.  I found another thread in the forum describing the same behavior happening with the IsChecked property.

Call stack:

  Telerik.Windows.Controls.Navigation.dll!Telerik.Windows.Controls.RadTreeViewItem.IsExpanded.set(bool value) Line 390 C#
> Telerik.Windows.Controls.Navigation.dll!Telerik.Windows.Controls.RadTreeViewItem.OnIsExpandedChanged(bool oldValue, bool newValue) Line 1186 C#
  Telerik.Windows.Controls.Navigation.dll!Telerik.Windows.Controls.RadTreeView.RestoreContainerProperties(object item, Telerik.Windows.Controls.RadTreeViewItem treeViewItem) Line 678 C#

Martin Ivanov
Telerik team
 answered on 04 Feb 2020
2 answers
146 views

I am trying to create custom Shape and custom ContainerShape.
I have successfully customized Shape.
But I am having a problem with customizing ContainerShape.

Below is code snippet for Model, .xaml and .cs.
When I set targetType of <style> to either Telerik:RadDiagramShape or Telerik:RadDiagramContainerShape, things work fine.
If I set CustomShape to targetType, this also works fine.
But, if I set CustomContainerShape to targetType, an error seems to occur when graphSource.AddNode(node) is excuted and StyleSelector returns Style, with InvalidOperationException error, and program terminates.

In the below code, FlowItemNode is okay. But FlowGroupNode is causing an error.
Even when I am using FlowGroupNode, if I set targetType of <style> to Telerik:RadDiagramContainerShape, it works okay.
 
I want to use CustomContainerShape so that I can implement or customize Drag and Drop(ex: drag entered, on drag, dropped) within CustomContainerShape class.
 
What am I doing wrong and How can I achieve this?

Thanks in advance.

//Selector
Class DiagramShapeSelector : StyleSelector
{
 Public override Style SelectStyle(object item, DependencyObject container)
 {
  If(item is FlowItemNode)
  {
   Return ForShapeStyle
  }
  Else if (item if FlowGroupNode)
  {
   Return ForGroupShapeStyle
  }
 }
}


 Code
//Model for shape
public class FlowItemNode : FlowItemViewModel, IDiagramNode
{
    ......
}
 
//Model for containerShape
Public Class FlowGroupViewModel<DiagramNode> : FlowItemViewModel, IContainerItem
{
}
Public class FlowGroupNode : FlowGroupViewModel<IDiagramNode>, IDiagramNode
{
    ......
}

 xaml
<local:CustomDiagram
ShapeStyleSelector = {StaticResource DiagramShapeSelector}
……
/>
<Style x:Key="ForShapeStyle" TargetType="telerik:RadDiagramContainerShape">
    <Setter Property="Position" Value="{Binding Position, Mode=TwoWay}" />
</Style>
 
<Style x:Key="ForGroupShapeStyle" TargetType="diagram:CustomContainerShape">
    <Setter Property="Position" Value="{Binding Position, Mode=TwoWay}" />
</Style>
 .cs
//Selector
Class DiagramShapeSelector : StyleSelector
{
 Public override Style SelectStyle(object item, DependencyObject container)
 {
  If(item is FlowItemNode)
  {
   Return ForShapeStyle
  }
  Else if (item if FlowGroupNode)
  {
   Return ForGroupShapeStyle
  }
 }
}
// CustomRadDiagram
    public class CustomDiagram : RadDiagram
    {
        protected override bool IsItemItsOwnShapeContainerOverride(object item)
        {
            if (item is FlowItemNode)
            {
                return item is CustomContainerShape;
            }
            else return item is CustomShape;
        }
        protected override Telerik.Windows.Diagrams.Core.IShape GetShapeContainerForItemOverride(object item)
        {
            if (item is FlowItemNode)
            {
                return new CustomContainerShape(this);
            }
            else return new CustomShape(this);
        }
    }
 
// CustomShape
   public class CustomShape : RadDiagramShape
    {
        public CustomShape(CustomDiagram diagram)
        {
        }
    }
 
// CustomContainershape
   public class CustomConnection : RadDiagramConnection
    {
        public CustomConnection(CustomDiagram diagram)
        {
        }
    }

Jaeho
Top achievements
Rank 1
 answered on 04 Feb 2020
4 answers
222 views

Hello.

Sorry for my "English" :)

VirtualGrid was added in xaml markup and it was subscribed to OverlayBrushesNeeded using EventToCommandBehavior.

<telerik:RadVirtualGrid
                    Name="VirtualGrid"
                    HorizontalAlignment="Left"
                    VerticalAlignment="Top"
                    telerik:StyleManager.Theme="Office2016"
                    CanUserInsertRows="False"
                    CanUserEdit="True"
                    InitialRowCount="10"
                    InitialColumnCount="10"
                    MeasureTextOnRender="True"
                    DataProvider="{Binding DataProvider}"
                    LinesVisibility="Both"
                    CanUserSortColumns="False"
                    CanUserFilterColumns="False"
                    RowHeaderWidth="0"
                    ColumnWidth="150"
                    Grid.Column="2">
                    <telerik:RadVirtualGrid.ContextMenu>
                        <ContextMenu ItemsSource="{Binding ContextMenuModel.Items}" ></ContextMenu>
                    </telerik:RadVirtualGrid.ContextMenu>
                    <telerik:EventToCommandBehavior.EventBindings>
                        <telerik:EventBinding PassEventArgsToCommand="True" Command="{Binding VirtualGridOverlayBrushesNeeded}"
                                              EventName="OverlayBrushesNeeded"/>
                        <telerik:EventBinding PassEventArgsToCommand="True" Command="{Binding VirtualGridCellDecorationsNeeded}"
                                              EventName="CellDecorationsNeeded" />
                    </telerik:EventToCommandBehavior.EventBindings>
                </telerik:RadVirtualGrid>     

 

 

There are 2 commands in my ViewModel.

public ICommand VirtualGridCellDecorationsNeeded
{
    get => _virtualGridCellDecorationsNeeded;
}
 
public ICommand VirtualGridOverlayBrushesNeeded
{
    get => _virtualGridOverlayBrushesNeeded;
}

 

_virtualGridCellDecorationsNeeded = new Telerik.Windows.Controls.DelegateCommand(OnCellDecorationsNeeded);
_virtualGridOverlayBrushesNeeded = new Telerik.Windows.Controls.DelegateCommand(OnOverlayBrushesNeeded);
public void OnCellDecorationsNeeded(object sender)
 {
     if(sender is CellDecorationEventArgs args)
     {
         if(args.ColumnIndex % 2 == 0)
         {
             args.Background = Brushes.Red;
             args.Foreground = Brushes.Black;
             args.CellTextAlignment = TextAlignment.Left;
         }
         else
         {
             args.Background = Brushes.Yellow;
             args.Foreground = Brushes.Red;
             args.CellTextAlignment = TextAlignment.Left;
         }
     }
 }
 
 public void OnOverlayBrushesNeeded(object sender)
 {
     if (sender is OverlayBrushesEventArgs args)
     {
         args.Brushes.Add(Brushes.Red);
         args.Brushes.Add(Brushes.Yellow);
     }
 }

 

CellDecorationsNeeded is triggered, but OverlayBrushesNeeded is not, which makes it impossible to set colors for cells. Please tell me what I'm doing wrong.

Sergey
Top achievements
Rank 2
 answered on 04 Feb 2020
2 answers
435 views

Please help me!,

I need to add a PictureBox in my main windows. It necessarily has to be in a PictureBox, please help.

Electrónica GOIA
Top achievements
Rank 2
 answered on 03 Feb 2020
1 answer
198 views

I would still like to be able to see what row the scroll is at even when the mode is RealTime. Like Word, Excel, etc. can do. Is there any way to make that happen?

 

Absent using the template, is there any place to hook in to show something myself?

Dinko | Tech Support Engineer
Telerik team
 answered on 03 Feb 2020
3 answers
427 views

Hello.

Our project has a requirement to show an ExplorerControl where navigation is limited to a user-defined folder and its subfolders.  Ideally, the navigation tree's root folder would be the specified folder (instead of the hierarchy from This PC to the target folder).

Is this functionality possible?

If there was a cancellable "OnBeforeNavigating" event to prevent navigating to parent folders, that might also be sufficient.

 

I've gotten close to it by handling the DirectoryRequesting event and cancelling any directories that are not the target folder, a parent folder, or child folder.

However, this still allows users to browse to parent folders and see the contents.  If I try to cancel the DirectoryRequesting events for the parent folders too, the control stops working.

We looked into editing the control template, but it proved to be more in-depth than we want to go.

Thanks!

Joe
Top achievements
Rank 2
Iron
Iron
Veteran
 answered on 31 Jan 2020
14 answers
231 views

Hi,

We experience some strange behavior in the xaml designer (Visual Studio 2017) when we apply the Fluent theme on the TabControl

<Style x:Key="DefaultTelerikRadTabControlStyle" TargetType="telerik:RadTabControl">
    <Setter Property="telerik:StyleManager.Theme" Value="{StaticResource FluentTheme}"/>
</Style>
<Style TargetType="{x:Type telerik:RadTabControl}" BasedOn="{StaticResource DefaultTelerikRadTabControlStyle}"/>

 

When the header of a tabitem is clicked, the designer does not 'switch' to that tab.  This happens randomly (not all of the time) and is pretty annoying.  Only thing to do when this happens is to restart Visual Studio.

The problem does not occur when setting the theme to Office2016.

Regards,
Hans

 

Kalin
Telerik team
 answered on 31 Jan 2020
7 answers
202 views

Hi there,

 

I would be appreciate your help with this.

Attached a screenshot that shows what I am looking for:

 

Thanks,

Bahram Afsharipoor

Bahram
Top achievements
Rank 1
 answered on 30 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
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
WatermarkTextBox
DesktopAlert
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
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?