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

I need to set checkbox into GridView checkboxcolumn header to implement "Select all" functionallity.

In wpf DataGrid it was simple i could set HeaderColumnTemplate property in xaml and bind to a DataGrid ViewModel object property. Unfortuantly I could not find simillar property or a way to to implement the functionality i need.

Dinko | Tech Support Engineer
Telerik team
 answered on 23 Apr 2018
6 answers
338 views

Hello Telerik,

 

I'm working with a RadDiagram.

In my case, I have a red rectangle to show to user the limit of the diagram. If he moves a Shape outside of the red rectangle body, we replace the shape inside the rectangle (with an algorithm).

For all shape types, is working find, but not for RadDiagramConnection.

 

My sub :

Private Sub MoveShape(p_shape As RadDiagramItem)
    If (p_shape Is Nothing) Then Exit Sub
 
    If Me._moveShapeCount >= 8 Then 'Used to fix a bug with infinite loop (StackOverFlowException) !
        Me._moveShapeCount = 0
        Exit Sub
    End If
 
    Try
        'Memory
        Dim shapeAsRectangle As Rect = p_shape.GetActualBounds() 'Used to have the good values when shape is rotated
        Dim isRectangleRotated As Boolean = False
        Dim isShapePositionModified As Boolean = False
 
        'Rotation management
        If TryCast(p_shape, RadDiagramShape) IsNot Nothing Then
            'Image / Elipse
            isRectangleRotated = (Not ListMissOutAngles.Exists(Function(a) a = DirectCast(p_shape, RadDiagramShape).RotationAngle))
        ElseIf TryCast(p_shape, RadDiagramConnection) IsNot Nothing Then
            'Me.ReplaceConnectorShape(p_shape) 'Specific treatment because Connection not has rotation angle and can have 2 points inside the line
            'Exit Sub
        ElseIf TryCast(p_shape, RadDiagramTextShape) IsNot Nothing Then
            'Boite de texte
            isRectangleRotated = (Not ListMissOutAngles.Exists(Function(a) a = DirectCast(p_shape, RadDiagramTextShape).RotationAngle))
        Else
            'Kc / Gap / Ref / Calculation / Adiru / FSI
            isRectangleRotated = (Not ListMissOutAngles.Exists(Function(a) a = DirectCast(p_shape, RadDiagramShapeBase).RotationAngle))
        End If
 
        'Width management
        If p_shape.Bounds.Width < (MinX + Me.BoundariesWidth) Then 'Manage cases only if shape width is < to red rectangle width (infinite loop risk)
            If shapeAsRectangle.Left < MinX Then
                If isRectangleRotated Then
                    p_shape.Position = New Point((p_shape.Bounds.X + (MinX - shapeAsRectangle.Left)), p_shape.Bounds.Y)
                Else
                    p_shape.Position = New Point((MinX + 2), p_shape.Bounds.Y)
                End If
 
                isShapePositionModified = True
            End If
 
            If shapeAsRectangle.Right > (MinX + BoundariesWidth) Then
                p_shape.Position = New Point((p_shape.Bounds.X + ((Me.BoundariesWidth + MinX) - shapeAsRectangle.Right)), p_shape.Bounds.Y)
                isShapePositionModified = True
            End If
        Else
            Exit Sub
        End If
 
        'Height management
        If p_shape.Bounds.Height < (MinY + BoundariesHeight) Then 'Manage cases only if shape height is < to red rectangle height (infinite loop risk)
            If shapeAsRectangle.Top < MinY Then
                If isRectangleRotated Then
                    p_shape.Position = New Point(p_shape.Bounds.X, (p_shape.Bounds.Y + (MinY - shapeAsRectangle.Top)))
                Else
                    p_shape.Position = New Point(p_shape.Bounds.X, (MinY + 2))
                End If
 
                isShapePositionModified = True
            End If
 
            If shapeAsRectangle.Bottom > (MinY + BoundariesHeight) Then
                If isRectangleRotated Then
                    p_shape.Position = New Point(p_shape.Bounds.X, (p_shape.Bounds.Top - (shapeAsRectangle.Bottom - BoundariesHeight) + MinY))
                Else
                    p_shape.Position = New Point(p_shape.Bounds.X, (p_shape.Bounds.Y - (p_shape.Bounds.Bottom - (MinY + BoundariesHeight)) - 2))
                End If
 
                isShapePositionModified = True
            End If
        Else
            Exit Sub
        End If
 
        If isShapePositionModified Then
            Me._moveShapeCount += 1
            Me.MoveShape(p_shape)
        End If
    Catch ex As Exception
        If Debugger.IsAttached Then Debugger.Break()
        MAATrace.Log("MoveShape EXCEPTION", "Error in MoveShape() (top-left position : '" + p_shape.Position.ToString() + "') : " + ex.Message)
    End Try
End Sub

 

For example, consider the first case => If shapeAsRectangle.Left < MinX

For all shapes, the p_shape.Position is set to 22, but for RadDiagramConnection, the value is not updated.

 

Do you know why the position is not updated for RadDiagramConnection ? And how can I resolve it ?

Furthermore, I should to be able to know if there is a rotation for the shape which encircle the RadDiagramConnection (the If, elseif, elseif... is a draft copy)

 

Thanks a lot.

Valentin
Top achievements
Rank 2
Iron
Iron
Iron
 answered on 19 Apr 2018
1 answer
158 views

I'm not able to get Dragon select drop-down options.

 <telerik:RadComboBox Grid.Row="5" Grid.Column="1" Padding="1" Grid.ColumnSpan="3" Name="SearchComboBox"                               
                                AutomationProperties.Name="Search:"
                                MaxHeight="20"
                                MinWidth="270"
                                VerticalAlignment="Center"
                                IsEditable="True"
                                IsReadOnly="False"
                                CanAutocompleteSelectItems="False"
                                CanKeyboardNavigationSelectItems="False"
                                IsTextSearchEnabled="False"
                                StaysOpenOnEdit="False"
                                OpenDropDownOnFocus="False"
                                IsMouseWheelEnabled="True"
                                MaxDropDownHeight="200"
                                Focusable="True"
                                IsTabStop="True"
                                TabIndex="101"         
                                ItemTemplate="{StaticResource GridLikeDataTemplate}"
                                TextBoxStyle="{StaticResource CustomComboTextBoxStyle}"
                                ItemsSource="{Binding List}"
                                KeyDown="General_KeyDown"
                                ScrollViewer.ScrollChanged="SearchCombo_ScrollChanged"
                                TextBoxBase.TextChanged="SearchCombo_TextChanged"
                                SelectionChanged="SearchCombo_SelectionChanged" >
                                <!--<telerikPresentation:RadComboBox.ItemContainerStyle>
                                    <Style TargetType="{x:Type telerikPresentation:RadComboBoxItem}">
                                        <Setter Property="AutomationProperties.Name" Value="{Binding Name}"/>
                                    </Style>
                                </telerikPresentation:RadComboBox.ItemContainerStyle>-->

                            </telerik:RadComboBox>

Template:

   <DataTemplate x:Key="GridLikeDataTemplate">
                                <DockPanel DataContext="{Binding}">
                                    <TextBlock Width="150" DockPanel.Dock="Right" Foreground="Gray" Text="{Binding TypeName}" Margin="0,0,15,0" />
                                    <TextBlock Text="{Binding Name}" FontWeight="Bold" Margin="0,0,20,0" AutomationProperties.Name="{Binding Name}"/>
                                </DockPanel>
                            </DataTemplate>

 

I used Inspect.exe and verified that the "Name" property was set propertly, but Click <PROPERTY NAME> is not working.  Please let me know if there is anything I missed. Thank you in advance. 

 

Dinko | Tech Support Engineer
Telerik team
 answered on 19 Apr 2018
4 answers
61 views

Does anybody know if the results from sibling aggregate functions can be used as input values for another function?

I would like to display the following grid:

                          Day 1                                 

                          Aggr1     Aggr2    Diff
  Shop               v1            v2         v1-v2
       Item A        p1A         p2A
       Item B        p1B         p2B

 

Is there any way to access the Aggr1 and Aggr 2 results in the Diff aggregate?

Martin Ivanov
Telerik team
 answered on 19 Apr 2018
1 answer
214 views
Here's my code in which I'm binding the command of RadRibbonRadioButton, but it is not working:

<telerik:RadRibbonGroup Header="Display X/Y in" FontSize="13">
                <telerik:RadCollapsiblePanel>
                    <telerik:RadRibbonRadioButton  x:Name="MapCoordinates"
                                                    IsChecked="{Binding MapCoordinatesChecked}"
                                                    CollapseToSmall="WhenGroupIsSmall"
                                                    CollapseToMedium="WhenGroupIsMedium"
                                                    telerik:ScreenTip.Description="Map Coordinates"
                                                    telerik:ScreenTip.Title="Map Coordinates"
                                                    Size="Large"
                                                    Text="Map Coordinates"
                                                    Command="{Binding RibbonControlRadioButtonClickedCommand}"
                                                    CommandParameter="{Binding ElementName=MapCoordinates}"
                                                    SmallImage="Resources\MapCoordinates.png"
                                                    LargeImage="Resources\MapCoordinates.png" />
 </telerik:RadCollapsiblePanel>
</telerik:RadRibbonGroup>

 

Kindly let me know, how can I bind its command in MVVM architecture.

 

Regards,

Tayyaba 

Vladimir Stoyanov
Telerik team
 answered on 19 Apr 2018
1 answer
174 views
Does anyone know how we access the Virtual Classroom as a Telerik subscriber?  I'm especially interested in the ones on WPF.  The information page says:
The recorded on-demand training videos will be available in Your Account shortly after the corresponding live training is complete and all training sessions will be refreshed after each major release.
I've looked all through my account and haven't seen anything related to the training.  Has anyone figured out how we access it? (I have the DevCraft bundle)
Martin Ivanov
Telerik team
 answered on 19 Apr 2018
1 answer
225 views

I created a test application that works like I want it to.  However now that I am trying to implement it the same way into an existing application, the opacity value I am setting is being ignored.  This complexity of this custom control (using a RadCartesianChart) is pretty crazy.  I just can't find out what is causing it to ignore what I am setting.

Attached is what the chart looks like without and with mouse-overing a LineSeries.  The idea is to highlight the LineSeries the trackball is describing.

Below is how I am setting the opacity in a custom behavior.  I have even tried
 - setting the opacity of each series on the RadCartesianChart itself
 - setting the opacity on the style being used for the LineSeries
 - setting up a style trigger to set the opacity value when the IsSelected property is modified in the behavior

Does anyone have an ideas?

01.private static void ChartTrackBallBehavior_TrackInfoUpdated(object sender, TrackBallInfoEventArgs e)
02.{
03.    ChartDataContext context = e.Context;
04. 
05.    DataPointInfo closestDataPointInfo = context.DataPointInfos
06.        .OrderBy(x => Math.Abs(e.Context.TouchLocation.Y - x.DataPoint.LayoutSlot.Y)).FirstOrDefault();
07. 
08.    foreach (DataPointInfo dataPointInfo in context.DataPointInfos)
09.    {
10.        if (dataPointInfo == closestDataPointInfo)
11.        {
12.            if (dataPointInfo?.DataPoint.DataItem is ChartItem chartItem)
13.            {
14.                ChildChartViewModel childChartViewModel = dataPointInfo.Series.Chart.DataContext as ChildChartViewModel;
15. 
16.                string time = chartItem.XValue.ToString(childChartViewModel?.LabelFormat ?? string.Empty);
17.                string value = chartItem.YValue.ToString(childChartViewModel?.VerticalAxis.DataFormatString ?? string.Empty);
18. 
19.                dataPointInfo.DisplayContent = $"({time}, {value})";
20.                dataPointInfo.Series.Opacity = 1;
21.                dataPointInfo.Series.Tag = "Add";
22.            }
23.        }
24.        else
25.        {
26.            dataPointInfo.Series.Opacity = 0.33;
27.            dataPointInfo.Series.Tag = "Remove";
28.        }
29.    }
30. 
31.    e.Context.DataPointInfos.RemoveAll(x => x.Series.Tag.ToString() == "Remove");
32.}
Martin Ivanov
Telerik team
 answered on 18 Apr 2018
1 answer
57 views

I have the following radgridview. In the alert column the filter takes out a 0 or a 1, which is the data that is collected from the database.

How could I change 0 for no alert and 1 for alert?

Thank you very much

 

<telerik:RadGridView Name="rgvExplorador"                                         
                                GridLinesVisibility="Both"                                            
                                GroupPanelBackground="LightGray"
                                GroupPanelForeground="Black"                                
                                ShowSearchPanel="True"
                                ShowGroupPanel="False"                                     
                                d:LayoutOverrides="Height"
                                Grid.Row="1"
                                FontSize="10.667"
                                CanUserResizeColumns="False"
                                CanUserFreezeColumns="False"
                                AutoGenerateColumns="False"
                                SelectionMode="Single"
                                ItemsSource="{Binding}"
                                RowIndicatorVisibility="Collapsed" >
               <telerik:RadGridView.GroupDescriptors>
 
                   <telerik:GroupDescriptor Member="areaTexto" SortDirection="Ascending" />
                   <telerik:GroupDescriptor Member="clasificacionTexto" SortDirection="Ascending" />
 
               </telerik:RadGridView.GroupDescriptors>
 
               <telerik:RadGridView.Columns>
 
                   <telerik:GridViewDataColumn  Header="Área" DataMemberBinding="{Binding areaTexto}"  Width="70" IsReadOnly="True"  IsGroupable="True" IsVisible="False"/>
                   <telerik:GridViewDataColumn  Header="Clasificación" DataMemberBinding="{Binding clasificacionTexto}"  Width="140" IsReadOnly="True"  IsGroupable="True" IsVisible="False"/>
 
                   <telerik:GridViewDataColumn Header="Título" DataMemberBinding="{Binding descripcion}" IsReadOnly="True" TextWrapping="Wrap" Width="300">
                       <telerik:GridViewColumn.ToolTipTemplate>
                           <DataTemplate>
                               <StackPanel Orientation="Vertical" Width="300"  MinHeight="80"  Background="White">
                                   <TextBlock Text="Descripción:" FontWeight="Bold"/>
                                   <TextBlock Text="{Binding Objetivo}" TextWrapping="Wrap"/>
                               </StackPanel>
                           </DataTemplate>
                       </telerik:GridViewColumn.ToolTipTemplate>
                   </telerik:GridViewDataColumn>
 
                   <telerik:GridViewDataColumn Header="Nº" DataMemberBinding="{Binding IdAlerta}" IsReadOnly="True" Width="auto"  IsGroupable="True"/>
                   <telerik:GridViewDataColumn x:Name="colHV" Header="Info dimensional" DataMemberBinding="{Binding HvInfoDesc}" IsReadOnly="True" />
                   <telerik:GridViewDataColumn x:Name="colPatron" Header="Patrón" DataMemberBinding="{Binding HF_Referencia}" IsReadOnly="True" />
                   <telerik:GridViewDataColumn Header="Período" DataMemberBinding="{Binding FechaDatos}" DataFormatString="{}{0:MMM/yyyy}"  Width="70" IsReadOnly="True"/>
                   <telerik:GridViewDataColumn Header="Entidad" DataMemberBinding="{Binding Entidad}" IsReadOnly="True"  Width="70" />
                   <telerik:GridViewDataColumn IsReadOnly="True" Width="30"  DataMemberBinding="{Binding EsAlerta}" IsGroupable="True" ShowDistinctFilters="True" >
 
                       <telerik:GridViewDataColumn.CellTemplate>
                           <DataTemplate>
                               <Image>
                                   <Image.Style>
                                       <Style TargetType="{x:Type Image}">
                                           <Setter Property="Source" Value="/Mercvrio.Style;component/Images/Blank.png" />
                                           <Style.Triggers>
                                               <DataTrigger Value="1" Binding="{Binding EsAlerta}">
                                                   <Setter Property="Source" Value="/Mercvrio.Style;component/Images/WarningRed.png"/>
                                               </DataTrigger>
                                               <DataTrigger Value="1" Binding="{Binding AlertaPositiva}">
                                                   <Setter Property="Source" Value="/Mercvrio.Style;component/Images/Warning.png"/>
                                               </DataTrigger>
                                               <DataTrigger Value="0" Binding="{Binding EsAlerta}">
                                                   <Setter Property="Source" Value="/Mercvrio.Style;component/Images/Blank.png"/>
                                               </DataTrigger>
 
                                           </Style.Triggers>
                                       </Style>
                                   </Image.Style>
                               </Image>
                           </DataTemplate>
                       </telerik:GridViewDataColumn.CellTemplate>
                   </telerik:GridViewDataColumn>
Stefan
Telerik team
 answered on 18 Apr 2018
1 answer
258 views

I'm currently using the demo version of UI WPF to evaluate the controls, and have placed a RadComboBox into my application by declaring a UserControl of that type in xaml (see attached file).

In the codeback, I then try to get the PART_EditableTextBox, so that I can set some event handlers for it.  This works using the Microsoft ComboBox, but with the RadComboBox, during execution the call to get the TextBox fails, leaving my variable with a value of null.  See attached file.  As you can see, the referenced delegates are defined.  textBox is defined at class level as in the other screenshot.

Why is this happening?

Ken
Top achievements
Rank 1
 answered on 18 Apr 2018
5 answers
138 views

Hi,

I have a RadDropDownButton which has as a dropdowncontent a user control which contains a radgridview.

If you try to select any row from the grid when you are using a tablet, the row is not selected.

If the same user control is put in a normal window, and not inside the dropdowncontent of the button, it works fine with the touchscreen.

Can you please let me know if there is a solution to this issue? I have been struggling for days to find a solution with no success.

 

Thank you.

Angelina
Top achievements
Rank 1
 answered on 18 Apr 2018
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
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?