Telerik Forums
UI for WPF Forum
14 answers
717 views
We have implemented the WPF expander. however on first click on the closed expander, nothing occurs. User has to click twice for expander to function. Subsequent to that, exoander works fine. Any suggestions?
recotech
Top achievements
Rank 1
 answered on 16 Mar 2012
1 answer
243 views
I have a treeview with tri-state mode enabled bound to a hierachical data source. When I check some children of a node (but not all), a red adorner border surrounds the whole RadTreeViewItem. A screenshot is attached.

How do I disable this border?

RadTreeView XAML:

<telerik:RadTreeView
            telerik:AnimationManager.IsAnimationEnabled="False"
            Grid.Row="0"
            ItemsSource="{Binding ElementName=ElementRoot, Path=RoleList}"
            SelectedItem="{Binding ElementName=ElementRoot, Path=SelectedRole, Mode=TwoWay}"
            ItemContainerStyle="{StaticResource ApplicationTreeViewStyle}"
            IsOptionElementsEnabled="True"
            ItemsOptionListType="CheckList"
            IsTriStateMode="True"
            DropExpandDelay="00:00:00"
            ScrollViewer.HorizontalScrollBarVisibility="Auto"
            ScrollViewer.VerticalScrollBarVisibility="Auto" />

HierarchicalDataTemplate:

<HierarchicalDataTemplate
    DataType="{x:Type Models:Role}"
    ItemsSource="{Binding Children}">
    <TextBlock
        Text="{Binding DisplayName}" />
</HierarchicalDataTemplate>

RadTreeViewItemStyle:

<Style x:Key="ApplicationTreeViewStyle" TargetType="{x:Type telerik:RadTreeViewItem}">
    <Setter
        Property="IsSelected"
        Value="{Binding Path=Selected, Mode=TwoWay}"/>
    <Setter
        Property="CheckState"
        Value="{Binding Path=Checked, Mode=TwoWay, Converter={StaticResource Bool2ToggleConverter}}"/>
    <Setter
        Property="IsExpanded"
        Value="{Binding Path=Expanded, Mode=TwoWay}" />
</Style>


Thank you,

James
Petar Mladenov
Telerik team
 answered on 16 Mar 2012
6 answers
1.4K+ views
Hi,

in my project I have a RadGridView with all features enable: Sorting, Grouping, etc...

In my grid, I have a GridViewSelectColumn to let my users to select all the rows they want. With this kind of column, I think, the logical pattern was respected by having a checkbox in the header to select/unselect all the rows in the grid. I'm trying to get an answer why this kind of column is missing when you grouping data. What should I do if I group a set of data by date and for a specific date I want to select all the subset items (more than 500 items)???

I'm trying to implement something but I don't know how to acheive it. Actually, I have a problem with the interaction of the groupcheckbox and the rest of the grid. I need to have my groupcheckbox to react the same has the header one, I mean, if I click a on of my groupcheckbox, I need to select all teh group subset and of course, if that mean that all data in the grid is selected after my click, of course the header checkbox should become check. Of course, my groupcheckbox should react to the fact that not all subset data was selected or not by becoming check or not. If the master header checkbox in the header should check all my groupcheckbox and so on...

Please help me, I know I'm not for from the solution ;)

Window1.xaml
------------------
<Window x:Class="RadControlsWpfApp6.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"               
        xmlns:alain="clr-namespace:RadControlsWpfApp6"
  Title="Window1" Height="300" Width="300" WindowState="Maximized" Name="Me">
  <Grid>
        <telerik:RadGridView x:Name="grid" AutoGenerateColumns="False" IsReadOnly="True" RowIndicatorVisibility="Collapsed" SelectionMode="Multiple" PreviewMouseLeftButtonUp="grid_PreviewMouseLeftButtonUp" SelectionChanged="grid_SelectionChanged">
            <telerik:RadGridView.GroupHeaderTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" >
                        <alain:GridViewGroupCheckBox x:Name="GroupCheckBox"/>
                        <TextBlock Margin="5 0" Text="{Binding Group.Key}" />
                    </StackPanel>
                </DataTemplate>
            </telerik:RadGridView.GroupHeaderTemplate>
            <telerik:RadGridView.Columns>
                <telerik:GridViewSelectColumn />
                <telerik:GridViewDataColumn DataMemberBinding="{Binding Path=LastName}" Header="LastName" />
                <telerik:GridViewDataColumn DataMemberBinding="{Binding Path=FirstName}" Header="FirstName" />
            </telerik:RadGridView.Columns>
        </telerik:RadGridView>
    </Grid>
</Window>


Window1.xaml.cs
---------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

using Telerik.Windows.Controls;
using Telerik.Windows.Controls.GridView;
using Telerik.Windows.Data; 

namespace RadControlsWpfApp6
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
           
            AllPersons = new List<Person>();

            AllPersons.Add(new Person() { LastName = "Test2", FirstName = "Test1" });
            AllPersons.Add(new Person() { LastName = "Test1", FirstName = "Test2" });
            AllPersons.Add(new Person() { LastName = "Test2", FirstName = "Test1" });

            grid.ItemsSource = AllPersons;
        }

        public List<Person> AllPersons { get; set; }

        private void grid_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            var senderElement = (FrameworkElement)e.OriginalSource;
            var clickedCell = senderElement.ParentOfType<GridViewHeaderCell>();

            if (clickedCell != null)
            {
                CheckBox chkHeader = clickedCell.Column.Header as CheckBox;
                if (chkHeader != null)
                {
                    IEnumerable<GridViewGroupRow> grpRows = grid.ChildrenOfType<GridViewGroupRow>();
                    GridViewGroupCheckBox.CheckUncheckItems(true, !(bool)chkHeader.IsChecked, grpRows);
                }
            }
        }

        private void grid_SelectionChanged(object sender, SelectionChangeEventArgs e)
        {
            GridViewItemContainerGenerator container = this.grid.ItemContainerGenerator;
                       
            foreach (var oneItem in e.AddedItems)
            {                               
                object obj = container.ContainerFromItem(oneItem);               
            }

            foreach (var oneItem in e.RemovedItems)
            {
            }
        }
    }

    public class Person
    {
        public string LastName { get; set; }
        public string FirstName { get; set; }
    }
}



GridViewGroupCheckBox.xaml
--------------------------------------
<UserControl x:Class="RadControlsWpfApp6.GridViewGroupCheckBox"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="Auto" Width="Auto">
    <Grid>
        <CheckBox x:Name="cbGroup" Click="cbGroup_Click" />
    </Grid>
</UserControl>


GridViewGroupCheckBox.xaml.cs
------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

using Telerik.Windows.Controls;
using Telerik.Windows.Controls.GridView;
using Telerik.Windows.Data;

namespace RadControlsWpfApp6
{
    /// <summary>
    /// Interaction logic for GridViewGroupCheckBox.xaml
    /// </summary>
    public partial class GridViewGroupCheckBox : UserControl
    {
        #region Constructors.
        /// <summary>
        /// Costructor.
        /// </summary>
        public GridViewGroupCheckBox()
        {
            InitializeComponent();
            mIsChecked = false;
        }
        #endregion

        #region Public properties.
        public bool IsChecked
        {
            get
            {
                return mIsChecked;
            }
            set
            {
                if (mIsChecked != value)
                {
                    mIsChecked = value;
                    cbGroup.IsChecked = mIsChecked;
                }
            }
        }

        public GridViewGroupRow GroupRow
        {
            get
            {
                return cbGroup.ParentOfType<GridViewGroupRow>();
            }
        }
        #endregion.

        #region Private event handlers.
        /// <summary>
        /// CheckBox click triggered.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>       
        private void cbGroup_Click(object sender, RoutedEventArgs e)
        {
            mIsChecked = (bool)(sender as CheckBox).IsChecked;
            applyChangesOnGrid(sender as CheckBox);
        }
        #endregion

        #region Private medthods.
        /// <summary>
        /// Apply changes
        /// </summary>
        /// <param name="pCheckBox"></param>
        private void applyChangesOnGrid(CheckBox pCheckBox)
        {
            CheckUncheckItems(false, (bool)pCheckBox.IsChecked, this.GroupRow);

            IEnumerable<GridViewGroupRow> groupsChildRows = this.GroupRow.ChildrenOfType<GridViewGroupRow>();
            CheckUncheckItems(false, (bool)pCheckBox.IsChecked, groupsChildRows);
        }

        /// <summary>
        /// Select/unselect all items in a group.
        /// </summary>
        /// <param name="pCheck">TRUE to select or FALSE to unselect.</param>
        /// <param name="pGroupRows">Group of rows.</param>
        static public void CheckUncheckItems(bool pIsInAllSelectionMode, bool pCheck, GridViewGroupRow pGroupRows)
        {
            if (!pIsInAllSelectionMode)
            {
                var theGrid = pGroupRows.ParentOfType<GridViewDataControl>();
                IEnumerable<CheckBox> allCheckBox = pGroupRows.ChildrenOfType<CheckBox>();

                if (allCheckBox != null)
                {
                    foreach (CheckBox oneCheckBox in allCheckBox)
                    {
                        oneCheckBox.IsChecked = pCheck;
                    }
                }

                if (theGrid != null)
                {
                    foreach (var item in pGroupRows.Items)
                    {
                        if (pCheck)
                        {
                            theGrid.SelectedItems.Add(item);
                        }
                        else
                        {
                            theGrid.SelectedItems.Remove(item);
                        }
                    }
                }
            }
        }

        /// <summary>
        /// For each sub group rows, select/unselect all items in a group.
        /// </summary>       
        /// <param name="pCheck">TRUE to select or FALSE to unselect.</param>
        /// <param name="pGroupsRows">List of groups rows.</param>
        static public void CheckUncheckItems(bool pIsInAllSelectionMode, bool pCheck, IEnumerable<GridViewGroupRow> pGroupsRows)
        {
            foreach (GridViewGroupRow oneGroupRow in pGroupsRows)
            {
                CheckUncheckItems(pIsInAllSelectionMode, pCheck, oneGroupRow);
            }
        }
        #endregion

        #region Private declarations.
        private bool mIsChecked;
        #endregion
    }
}




Thank's
Oliver
Top achievements
Rank 1
 answered on 16 Mar 2012
2 answers
72 views

Hello,
I have a problem with the title of the views. In my case I have 5 views:
1 - dayview
2 - WeekView
3 - WorkWeekView
4 - MonthView
5 - TimeLineView
I noticed that when I switch to workWeekView, I get the title of dayview.
I could tell how to fix this?

Thanks!

Georgi
Telerik team
 answered on 16 Mar 2012
1 answer
163 views
Hello,

i try to set the MaxWidth of a RadNumericUpDown to a Value of 20, but the ActualWidth is allways 60. Is this a bug or am I doing something wrong?

<telerik:RadNumericUpDown Name="numeric" MaxWidth="20" ShowButtons="False" ></telerik:RadNumericUpDown>


Georgi
Telerik team
 answered on 16 Mar 2012
2 answers
163 views
Good morning,

There seems to be an issue where the content of a RadTileViewItem is not visible when using the MetroTheme.
If I remove the metro theme or use a different theme then the content is visible again.

Application wide theme:
StyleManager.ApplicationTheme = new MetroTheme();

TileView control:
<telerik:RadTileView MaximizeMode="ZeroOrOne" RowHeight="200" ColumnWidth="250">
            <telerik:RadTileViewItem Header="Berkeley Park">
                <TextBlock>Test</TextBlock>
            </telerik:RadTileViewItem>
            <telerik:RadTileViewItem Header="Posh Park Developments">
                <TextBlock Margin="10">Test</TextBlock>
            </telerik:RadTileViewItem>
            <telerik:RadTileViewItem Header="King Park">
                <TextBlock Margin="10">Test</TextBlock>
            </telerik:RadTileViewItem>
            <telerik:RadTileViewItem Header="King Park">
                <TextBlock Margin="10">Test</TextBlock>
            </telerik:RadTileViewItem>
            <telerik:RadTileViewItem Header="King Park">
                <TextBlock Margin="10">Test</TextBlock>
            </telerik:RadTileViewItem>
        </telerik:RadTileView>
Robert
Top achievements
Rank 1
 answered on 16 Mar 2012
5 answers
127 views
Hi,

how can i find a row in a child grid?

before i  periodly update my itemssource for my Hierachical Gridview i save my current selecteditem in a childgrid.
After i update the Itemsource i want to expand the same parentitem and select the same Childitem as before.

How can i do this?

I hope you can understand what i mean. Sorry for my bad english

grettings Johann
Johann
Top achievements
Rank 1
 answered on 16 Mar 2012
3 answers
581 views
Hi. 
I have a RadTabControl with a data bound ItemTemplate.

I am trying to tweak the data template or radtabcontrol styling so that the individual tabs will be clearly separated for the user.

The DataTemplate is a grid. If I set the background of the grid, I get a rectangular background (ie the shape of the grid instance) that does not match the nice outline with rounded corners that is highlighted when you hover over the item with the mouse. The datatemplate item does not have a background (obviously) and setting the the TabHeaderBackGround on the RadTabControl causes the entire header (tab headers as well as the canvas backgrounds) to have this background so this does not cause the individual selectable tabs to stand out, either.

How do I set a color for the same area that is highlighted when the the mouse hovers over a tab item?
Petar Mladenov
Telerik team
 answered on 16 Mar 2012
5 answers
182 views

Hi guys,

how can I use the RadmaskedDateTimeInput scheme inside a Gridview Cell ?
I tried building my GridViewDataColum with

 

DataFormatString

 

 

="{} {0:dd.MM.yyyy}"
but there I have to type the periods, too.

I'd like to have the same behaviour as in the edit field.
I only want to type the numbers, as in:

 

telerik

 

 

:RadMaskedDateTimeInput Mask="dd.MM.yyyy"

best regards
Torsten

 

Dimitrina
Telerik team
 answered on 16 Mar 2012
1 answer
76 views
Hello,



Regarding MergeFields, Is it possible to bind a MergeField to a list of strings so that the values are displayed/rendered in the document as multiple text lines?

Thanks in advance,

Juanjo.
Boby
Telerik team
 answered on 16 Mar 2012
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
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
PasswordBox
SplashScreen
Callout
Rating
Accessibility
CollectionNavigator
Localization
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
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?