Telerik Forums
UI for WPF Forum
5 answers
363 views

I want to add an apply button to the end of the "add new item" button when the NewRowPosition is set to e.g. Top.

After investigating which controls are involved, I tried to override the default style of DataCellsPresenter but the ItemsPresenter there seems to give me headache. Haven't used ItemsPresenter before so maybe the behavior is normal or it's modified elsewhere in your code.

Here's my modified style:

    <Style x:Key="customDataCellsPresenter" TargetType="{x:Type telerik:DataCellsPresenter}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type telerik:DataCellsPresenter}">
                    <Grid>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="Auto"/>
                            </Grid.ColumnDefinitions>
                            <ItemsPresenter Grid.Column="0"/>
                            <Button Grid.Column="1">Click Me!</Button>
                        </Grid>            
                        <telerik:FrozenColumnsSplitter x:Name="PART_FrozenColumnsSplitter" telerik:DragDropManager.AllowDrag="True" telerik:DragDropManager.AllowCapturedDrag="True" Cursor="SizeWE" telerik:TouchManager.DragStartTrigger="TapHoldAndMove" HorizontalAlignment="Left" IsTabStop="False" Stylus.IsFlicksEnabled="False" Stylus.IsPressAndHoldEnabled="False">
                            <telerik:StyleManager.Theme>
                                <telerik:Windows8TouchTheme/>
                            </telerik:StyleManager.Theme>
                        </telerik:FrozenColumnsSplitter>
                    </Grid>    
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="IsTabStop" Value="False"/>
        <Setter Property="ItemsPanel">
            <Setter.Value>
                <ItemsPanelTemplate>
                    <telerik:GridViewCellsPanel IsItemsHost="True"/>
                </ItemsPanelTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="SnapsToDevicePixels" Value="True"/>
    </Style>

 

The ItemsPresenter seem to span over the button. I.e., the button is not visible. If I excplicitely change column's width from * to 128, the button is shown and the ItemsControl is smaller, but it is clipped after 128 pixels.

Is there another way to add a button to the end of the new item button? I want the user to be able to use the grid with only touch screen (i.e. no physical keyboard available). A cancel button would be needed also.

The optimal solution would be if the user taps elsewhere on the screen (not just the RadGridView control) but there's only one button on the screen ("Back") so that won't do. I.e., no other controls to transfer the focus to. Propably needs some sort of "global" click/tap listener and hit test class...

Vladimir Stoyanov
Telerik team
 answered on 14 Dec 2017
1 answer
306 views

Ok,

I have a treeview that is LoadOnDemand. I have a HierarchicalDataTemplate and within it I define a RadContextMenu.

Currently, I am setting the ItemClicked event handler and calling the ViewModel from code behind. It all works, but I know I am being a bad boy calling the viewmodel from the codebehind. 

 

Here's what I'd like to do: 

Somehow, bind a command to the HierachicalDataTemplate so that I have a single function that receives all context menu clicks via a command. I should be able to sort out which context menu item was clicked in the command parameter (I think).

I have tried adding an EventToCommandBehavior to the HierachicalDataTemplate, but the compiler whines that nested properties are not supported.

I get this because I am already using EventToCommandBehavior in the treeview itself.

It seems that putting an additional EventToCommandBehavior in the HierarchicalDataTemplate is a no-go.

How can I receive commands from context menus generated in a loadondemand treeview and have it be MVVM friendly?

Thanks ... Ed

 

Stefan
Telerik team
 answered on 14 Dec 2017
1 answer
530 views

Right now I set up the label's margin in xaml

<telerik:RadCartesianChart.HorizontalAxis>
                <telerik:CategoricalAxis MajorTickLength="0" LineStroke="Transparent">
                      <telerik:CategoricalAxis.LabelStyle>
                           <Style TargetType="TextBlock">
                                <Setter Property="Margin" Value="20 10 15 20" />
                           </Style>
                      </telerik:CategoricalAxis.LabelStyle>
                </telerik:CategoricalAxis.LabelStyle>
</telerik:RadCartesianChart.HorizontalAxis>

But I want to use property binding, so I created the property in View Model. The type of property is Thickness. But it is not working. I doubt that CategoricalAxis doesn't support it because I saw an example.

Thanks for advice.

Dilyan Traykov
Telerik team
 answered on 13 Dec 2017
3 answers
207 views

In order to create a Custom editor with RadGridView by following a guide at: Create Custom Editor with RadGridView

It looks OK, but I would change the DataMemberBinding to Int32 instead of System.Windows.Media.Color, because System.Windows.Media.Color belongs to View class I don't really want to use it in my ViewModel. The converter looks like:

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
      int num= System.Convert.ToInt32(value);
      Color color;
      byte[] bytes = BitConverter.GetBytes(num);
      color = Color.FromArgb(bytes[3], bytes[2], bytes[1], bytes[0]);
      return new SolidColorBrush(color);     
 }

 

The converter get correct value for control, but when I change color from CorlorPicker, it get validation error in the cell and it says: Object of type "System.Windows.Media.Color" cannot be converted to type "System.Int32".

Any idea to resolve the problem? Thanks in advance.

 

Quang Khải
Top achievements
Rank 1
 answered on 13 Dec 2017
4 answers
181 views

I use gridview to display a datatable, when columns count is 2000 and rows count is 100, the UI can not render out,

there is a compromise solution is divide the datatable and display them by many gridview side by side,but when drag the horizontal scroll bar,it is not smooth

How to raise the rendering efficiency of gridview

and is there a probably render limit of the gridview , how many columns and how many rows

 

rui
Top achievements
Rank 1
 answered on 13 Dec 2017
4 answers
166 views

Hi,

I created a little UI that allow user to personalize the GridView properties.

I a section of this UI, a user can add a "Format Condition" defining an Expression (using RedExpressions) and some Style preferences, in example a row background.

When a FormatCondition class is created, in the constructor, I add a StyleRule to GridView.RowStyleSelector, I bind the StyleRuleCondition to FormatCondition.Condition and I'm waiting for BackGround changes:

            Grid = g;
            Css = (ConditionalStyleSelector)(g.RowStyleSelector ?? (g.RowStyleSelector = new ConditionalStyleSelector()));
            StyleRule = new StyleRule();
            StyleRule.Bind(StyleRule.ConditionProperty, Condition, converter: new Converters.FunctionConverter<string, System.Linq.Expressions.Expression>(Convert));
            StyleRule.Style = new System.Windows.Style(typeof(GridViewRow)
, (Style)Application.Current.FindResource("GridViewRowStyle"));
            Css.Rules.Add(StyleRule);
            BackGroundColor.ValueChanged += (p) => ResetBg();

If BackGround change I edit the Background setter:

if (BgSetter != null) Style.Setters.Remove(BgSetter);

BgSetter = null;

if (!BackGroundColor.Value.HasValue) return;

BgSetter = new Setter(GridViewRow.BackgroundProperty, new SolidColorBrush(BackGroundColor.Value.Value));
Style.Setters.Add(BgSetter);

 

I think this is logically correct but Grid Style don't change until a rows refresh occours.

How I can force grid to re-evaluate row stryle rules?

marc.

Marcello
Top achievements
Rank 1
Iron
 answered on 13 Dec 2017
0 answers
90 views
I'am using the HTMLExportHelper example to export my RadDiagram's to HTML and I'am wondering if it would be possible to display scrollbars inside the html diagram when zoomed in. The problem is that a lot of users don't even realize that the Diagram is bigger than whats visible on the screen without scrollbars. Does anyone have an idea if this is even possible with HTML 5?
Davidm
Top achievements
Rank 1
 asked on 12 Dec 2017
1 answer
187 views
Hello Sirs,

I'm using RadVirtualGrid with a Custom DataProvider in which I would like to have a column with buttons. These buttons must have an image and a Click event.
Could you sirs please help me with it?

Thanks in advance,
Stefan
Telerik team
 answered on 12 Dec 2017
2 answers
279 views

When I click the grid view's "add new item" button, it shows a text box where to type in the value for the new row. I want show Window's on screen keyboard when the text box is clicked/tapped. I.e., I start a new Process that starts TabTip.exe for every other text box in my application.

Is there an easy way to do this with the grid view's text box or do I have to override a certain grid view's style? If so, which one?

I took a quick look at the your style structure topic but couldn't find the text box in the styles. I think the text box container is PART_DataCellPresenter because the text box was not displayed after I commented PART_DataCellPresenter out in the style.

The way I have handled this with other text boxes is that I have created a new class that extends TextBox. Then I subscribed to the PreviewLeftMouseUp event whose handler starts TabTip.exe. Maybe I can override some grid view's style to use my extended class or if you have a better solution.

J
Top achievements
Rank 1
 answered on 11 Dec 2017
1 answer
109 views

If I set RadTreeViewItem Background it highlights the header only. How can I highlight the whole line?

Dinko | Tech Support Engineer
Telerik team
 answered on 11 Dec 2017
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
Slider
Expander
TileList
PersistenceFramework
DataPager
Styling
TimeBar
OutlookBar
TransitionControl
Book
FileDialogs
ToolBar
ColorPicker
TimePicker
SyntaxEditor
MultiColumnComboBox
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
DesktopAlert
WatermarkTextBox
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
WebCam
CardView
DataBar
Licensing
FilePathPicker
PasswordBox
Rating
SplashScreen
Accessibility
Callout
CollectionNavigator
Localization
AutoSuggestBox
HighlightTextBlock
Security
TouchManager
StepProgressBar
VirtualKeyboard
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
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?