Telerik Forums
UI for WPF Forum
2 answers
118 views
I have a large-ish drag cue, and I need to be quite precise about where the drop is going to happen (it's into a RadRichTextBox, so position in the text is important).

Is there any way I can control the position of the drag cue?  At present, the mouse pointer is somewhere in the middle of the control I'm using.  It appears it does something similar in most of the demos, too.  I would like the cue to be drawn with the top left (0,0) starting at the mouse pointer position - then I'd be able to see what is under the mouse pointer.

Any help appreciated!
Nick
Telerik team
 answered on 08 Mar 2012
11 answers
370 views
I have a screen which has a Gridview and 2 heirarchies within it.

At the moment, I am using the RowEditEnded event of the GridView (and its embedded Grids) to perform updates. I am doing it in such a way which is not very MVVM. For example:
private void TasksRadGridView_RowEditEnded(object sender, Telerik.Windows.Controls.GridViewRowEditEndedEventArgs e)
{
    Task updatedTask = e.NewData as Task;
    ManageProjectsViewModel vm = this.DataContext as ManageProjectsViewModel;
    vm.UpdateTaskCommand.Execute(updatedTask);
}

You can see there that I am casting the DataContext as a ViewModel.
I would prefer to bind directly to properties on the ViewModel in Xaml.

The current Xaml for that UserControl is:
<UserControl x:Class="TimeTracker.View.ManageProjectsView.ManageProjectsView"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
             xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
             xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF4"
             mc:Ignorable="d"
             d:DesignHeight="300" d:DesignWidth="300"
             DataContext="{Binding ManageProjects, Source={StaticResource Locator}}">
     
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="../../Skins/MainSkin.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </UserControl.Resources>
 
    <Grid>
        <!-- This Border is just a container to provide the transparent effect as a layer above the clock-->
        <Border Grid.Row="1" Height="Auto" Width="Auto">
            <Grid Height="Auto" Width="Auto" Background="#990D0529">
                <Border Padding="10" Margin="0" Width="630" Height="600" CornerRadius="10" BorderBrush="#FF3F3636"
                BorderThickness="1" Background="{StaticResource TransparentBrush}">
                    <Border Padding="10" Height="450" Width="580" CornerRadius="10" BorderBrush="#FF3F3636" BorderThickness="1" Background="{StaticResource TransparentBrush}">
                        <Grid Height="Auto" Width="Auto" Background="#990D0529">
 
                            <telerik:RadGridView x:Name="ProjectsRadGridView" AutoGenerateColumns="False"
                                                 ColumnWidth="*" GridLinesVisibility="None" telerik:StyleManager.Theme="Transparent"
                                                 RowIndicatorVisibility="Collapsed" IsReadOnly="False"
                                                 ItemsSource="{Binding Path=Projects}"
                                                 RowEditEnded="ProjectsRadGridView_RowEditEnded">
 
                                <telerik:RadGridView.ChildTableDefinitions>
                                    <telerik:GridViewTableDefinition />
                                </telerik:RadGridView.ChildTableDefinitions>
 
                                <telerik:RadGridView.Columns>
                                    <telerik:GridViewDataColumn DataMemberBinding="{Binding Id}" Header="Project Id" UniqueName="Id" IsVisible="False" />
                                    <telerik:GridViewDataColumn DataMemberBinding="{Binding ProjectName}" Header="Name" UniqueName="ProjectName" IsReadOnly="False"/>
                                    <telerik:GridViewDataColumn DataMemberBinding="{Binding Visible}" Header="Visible" UniqueName="Visible" IsReadOnly="False" />
                                </telerik:RadGridView.Columns>
 
                                <telerik:RadGridView.HierarchyChildTemplate>
                                    <DataTemplate>
                                        <telerik:RadGridView x:Name="TasksRadGridView" BorderThickness="0,1,0,1"
                                                             telerik:StyleManager.Theme="Transparent"
                                                             RowEditEnded="TasksRadGridView_RowEditEnded"
                                                             GridLinesVisibility="None" CanUserFreezeColumns="False"
                                                             AutoGenerateColumns="False" ItemsSource="{Binding Tasks}" 
                                                             ShowGroupPanel="False" IsReadOnly="False">
                                                 
                                            <telerik:RadGridView.ChildTableDefinitions>
                                                <telerik:GridViewTableDefinition />
                                            </telerik:RadGridView.ChildTableDefinitions>
 
                                            <telerik:RadGridView.Columns>
                                                <telerik:GridViewDataColumn DataMemberBinding="{Binding Id}" Header="Task ID" IsVisible="False" />
                                                <telerik:GridViewDataColumn DataMemberBinding="{Binding TaskName, UpdateSourceTrigger=PropertyChanged}" Header="Name" />
                                                <telerik:GridViewDataColumn DataMemberBinding="{Binding Description}" Header="Description" />
                                                <telerik:GridViewDataColumn DataMemberBinding="{Binding Visible}" Header="Visible" />
                                            </telerik:RadGridView.Columns>
 
                                            <telerik:RadGridView.HierarchyChildTemplate>
                                                <DataTemplate>
                                                    <telerik:RadGridView x:Name="WorkItemsRadGridView" BorderThickness="0,1,0,1"
                                                             telerik:StyleManager.Theme="Transparent"
                                                             RowEditEnded="WorkItemsRadGridView_RowEditEnded"
                                                             GridLinesVisibility="None" CanUserFreezeColumns="False"
                                                             AutoGenerateColumns="False" ItemsSource="{Binding WorkItems}" 
                                                             ShowGroupPanel="False" IsReadOnly="False">
                                                        <telerik:RadGridView.Columns>
                                                            <telerik:GridViewDataColumn DataMemberBinding="{Binding Id}" Header="Work Item ID" IsVisible="False" />
                                                            <telerik:GridViewDataColumn DataMemberBinding="{Binding Duration}" Header="Duration" IsReadOnly="False" />
                                                            <telerik:GridViewDataColumn DataMemberBinding="{Binding Description}" Header="Description" IsReadOnly="False" />
                                                            <telerik:GridViewDataColumn DataMemberBinding="{Binding DateOfWork}" Header="DateOfWork" IsReadOnly="False" />
                                                        </telerik:RadGridView.Columns>
                                                    </telerik:RadGridView>
                                                </DataTemplate>
                                            </telerik:RadGridView.HierarchyChildTemplate>
 
                                        </telerik:RadGridView>
                                    </DataTemplate>
                                </telerik:RadGridView.HierarchyChildTemplate>
                            </telerik:RadGridView>
 
                        </Grid>
                    </Border>
                </Border>
            </Grid>
        </Border>
    </Grid>
 
</UserControl>


I think one part of the problem is that the embedded Grids are not binding to separate ViewModels. They are binding to the relevant property on the ViewModel:
e.g. the 1st embedded GridView is TasksRadGridView. It binds as so:
ItemsSource="{Binding Path=Projects}"
    

Is there a way to directly binding to the ViewModel, passing it the valie of the current ro being edited for the embedded grids?
I am familiar with the EventToCommand trigger of the MVVM Light Toolkit. I just can't find a way to extract the value for the current row being edited for items in the embedded Grids. The item would be sent as a parameter using the EventToCommand trigger (I think that is the best design).

Cheers

Cheers
Rayne
Top achievements
Rank 1
 answered on 08 Mar 2012
5 answers
100 views
Hello. I have added a CheckBox to a GridView. I need to be able to check and un-check this CheckBox w/o editing the row. I have seen examples where the CheckBox is checked when the row is clicked but this is not what I am after.

Thanks in advance.
Dimitrina
Telerik team
 answered on 08 Mar 2012
1 answer
139 views
Hello,

It seems there is an issue with ColumnWidth property being speficied as a Style property for the RadGridView.  Here is my code

<Window x:Class="GridTest.MainWindow"
        Title="MainWindow"
        xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
    <Window.Resources>
        <Style TargetType="{x:Type telerik:RadGridView}">
            <Setter Property="ShowGroupPanel"   Value="False"/>
            <Setter Property="ColumnWidth" Value="*"></Setter>
        </Style>
         
    </Window.Resources>
    <Grid Margin="40">
        <telerik:RadGridView  Name="gridViewCheckBox1" >
            <telerik:RadGridView.Columns>
                <telerik:GridViewDataColumn Header="Qtr1"  DataMemberBinding="{Binding FinancialQuarter}" />
                <telerik:GridViewDataColumn Header="Qtr2" DataMemberBinding="{Binding FinancialQuarter}" />
                <telerik:GridViewDataColumn Header="Qtr3"  DataMemberBinding="{Binding FinancialQuarter}" />
                <telerik:GridViewDataColumn Header="Qtr4"  DataMemberBinding="{Binding FinancialQuarter}" />
            </telerik:RadGridView.Columns>
 
        </telerik:RadGridView>
    </Grid>
</Window>

The ShowGroupPanel="false" applies to the grid but I don't see the columns occupying all of the Grid's Width. Is this an existing bug of RadGridView?  Any help is appreciated.
Attached is the image of my output.

Note: It works when I specify this property explicitly for each of the RadGridView but not as a part of Style (either as a local resource/Window Resource/ ResourceDictionary)
Vera
Telerik team
 answered on 08 Mar 2012
1 answer
151 views
Basically I created a dynamic object, it can be an ExpandoObject or any object that inherits from the DynamicObject class, and assign several properties and their associated values to the object.  I then set the editor's Item equal to that object.  The property Fields was able to list all the object's properties just fine, but as soon as I select one of the property, the editor immediately underlines the property name which indicates an error.  The error message appears in the tooltips stated "The [name of selected property] is not a member of type System.Dynamic.ExpandoObject" when I hover over the text.  I'm using Q2 2011 edition.

Thanks in advance for your reply. 
Vlad
Telerik team
 answered on 08 Mar 2012
3 answers
125 views
Hello

I did upgraded all DLLs in the install-folder und changed the version-entry in all *.csproj files that i use. Now, I have massive problems to use the RadDocking.
I can complie the programm and it starts, too. But when I try to move a Pane an NullReferenceException will thrown.
All components (RadSplitContainer, RadGroups, RadPane and RadDocumentPane) are created by code, just the RadDocking is defiend in XAML.

I tried to build a Exsample  and I get allmost the same error

important is Application_Startup I need to create the MainWindow at this position!
If StyleManager.ApplicationTheme is assined than an exception will thrown when a Pane add to RadDocking .


public partial class App : Application
{
    private void Application_Startup(object sender, StartupEventArgs e)
    {
 
        StyleManager.ApplicationTheme = new Office_BlueTheme();
 
        this.MainWindow = new MainWindow();
        this.MainWindow.Show();
    }
}


public partial class MainWindow : RadRibbonWindow
{
    public MainWindow()
    {
        this.WindowState = WindowState.Maximized;
        InitializeComponent();
    }
 
 
    private void AddNewToolDocPane()
    {
        var container = Docking.DocumentHost as RadSplitContainer;
        if (container == null)
        {
            container = new RadSplitContainer() { InitialPosition = DockState.DockedBottom };
            Docking.DocumentHost = container;
        }
        var paneGroup = container.Items.OfType<RadPaneGroup>().FirstOrDefault();
        if (paneGroup == null)
        {
            paneGroup = new RadPaneGroup();
            container.Items.Add((paneGroup));
        }
 
        var pane = new RadPane();
        paneGroup.AddItem(pane, DockPosition.Center);
    }
 
    private void Button_Click(object sender, RoutedEventArgs e)
    {
        AddNewToolDocPane();
    }
}

<telerik:RadRibbonWindow x:Class="WpfApplication2.MainWindow"
        xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="1*"/>
        </Grid.RowDefinitions>
        <StackPanel>
            <Button Content="test" Click="Button_Click"/>
        </StackPanel>
        <telerik:RadDocking Grid.Row="2" x:Name="Docking" BorderThickness="0" Padding="0" >
        </telerik:RadDocking>
    </Grid>
</telerik:RadRibbonWindow>


Boyan
Telerik team
 answered on 08 Mar 2012
1 answer
302 views
I need to be able to add a Custom Label to a Radial Gauge that will contain text indicating the status of the value being presented.  I am using the WPF Q2 2011 gauges and because of a time crunch I will not be able to upgrade the gauges to a newer version.  I know that the next version of gauge has this ability.  Please if anyone knows how to add a text label as indicated I need to know this quickly.  Thank you for your time and consideration on this question.

James
Andrey
Telerik team
 answered on 08 Mar 2012
0 answers
91 views
Hi everyone,

I'm working with the gridview. I'm trying to add a new row directly in the grid.
I have predefined columns , with the following types

Column1                        Column2                        Column 3                                Column4
GridViewDataColumn    GridViewDataColumn     GridViewComboBoxColumn    GridViewDataColumn

what i want to do is  that on the RowEditEnded, i check if it is an insert....and insert the record in the database.
When i enter data in the 1st column and press tab, it moves to the next, i add data to column2 and press tab , it moves to the 3rd column. From the 3rd column when i select something from the combo box and press tab to move to column 4, it fires the RowEditEnded event !!!! I was expecting this event to be fired on presseing tab on 4th column.

Why does a column with combo box triggers the roweditended.????

Anyone has noticed this behaviour before ?

Your helps and suggestions are most welcome

Regards,
Shaimaa
Shaimaa
Top achievements
Rank 1
 asked on 08 Mar 2012
2 answers
94 views
hi,
I use richtextbox with Arabic language. when save the document as a word (docx), it remove font size & font name (type). you can see the attached screenshot that show open it with MS Word but it don't show correct font size & font type.
Iva Toteva
Telerik team
 answered on 07 Mar 2012
24 answers
1.7K+ views
OK yet another MVVM question. I am trying to use RadWindow as a modal dialog in an MVVM application. I can get the Window to open through the PresentationModel, but the view, that gets passed into my PresentationModel, DataContext is null thus when I set the window.DataContext = this.view.DataContext the Window is invisible. If I comment out that line I do get a RadWindow that ofcourse has no properties set. So basically I am left with half the puzzle complete. I can open the RadWindow as I want, but how can I set its DataContext to that of my view if the views DataContext is null?

Any help would be appreciated!

Here is my PresentationModelCode
using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using VistaAdmin.Infrastructure;  
using System.ComponentModel;  
using VistaAdmin.Configuration.Properties;  
using System.Windows.Media;  
using System.Windows.Media.Imaging;  
using Microsoft.Practices.EnterpriseLibrary.Logging;  
using VistaAdmin.Composite.Extensions;  
using System.Windows.Input;  
using System.IO;  
using System.Windows;  
using System.Reflection;  
using System.Collections.ObjectModel;  
using Telerik.Windows.Controls;  
using System.Windows.Data;  
using VistaAdmin.Help.Interface;  
 
namespace VistaAdmin.Configuration.Applications  
{  
    internal class ConfigurationPresentationModel : PresentationModel<IConfigView>, IHeaderInfoProvider  
    {  
        private static readonly PropertyInfo HeaderInfoProperty = TypeManager.GetProperty<ConfigurationPresentationModel>(x => x.HeaderInfo);  
 
        private readonly IMessageService messageService;  
        private IDynamicHelp dynamicHelp;  
        private readonly IApplicationContainer container;  
        private RadWindow window;  
        private readonly DelegateCommand openWindowCommand;  
        private readonly IConfigView view;  
 
        public ConfigurationPresentationModel(IApplicationContainer container, IConfigView view, IMessageService messageService)  
            : base(view)  
        {  
            this.container = container;  
            this.messageService = messageService;  
            this.view = view;  
            dynamicHelp = container.TryResolve<IDynamicHelp>();  
            openWindowCommand = new DelegateCommand(Open, CanOpenExecute);              
            this.window = this.CreateWindow();  
        }  
 
        public string HeaderInfo  
        {  
            get { return Resources.Title; }  
        }  
 
        public ImageSource HeaderIcon  
        {  
            get { return new BitmapImage(ResourceService.GetPackUri("Resources/Config.ico")); }  
        }  
 
        private static void Log(string message, System.Diagnostics.TraceEventType severity)  
        {  
            LogEntry entry = new LogEntry();  
            entry.Severity = severity;  
            entry.Message = message;  
            entry.Title = "VistaAdminConfiguration";  
            entry.Categories.Add("Configuration");  
            Logger.Write(entry);  
        }  
 
        public ICommand OpenWindowCommand { get { return openWindowCommand; } }  
 
        private bool CanOpenExecute()  
        {  
            return !this.window.IsOpen;  
        }  
          
        public void Open()  
        {  
            if (!this.window.IsOpen)  
            {  
                this.window.ShowDialog();  
            }  
        }  
 
        private RadWindow CreateWindow()  
        {  
            window = new RadWindow();  
            window.DataContext = this.view.DataContext;  
            window.Closed += new EventHandler<WindowClosedEventArgs>(window_Closed);  
            window.Opened += new RoutedEventHandler(window_Opened);  
            return window;  
        }  
 
        void window_Opened(object sender, RoutedEventArgs e)  
        {  
            //this.window.IsOpen = true;  
        }  
 
        void window_Closed(object sender, WindowClosedEventArgs e)  
        {  
            //this.IsOpen = false;  
        }  
 
    }  
}  
 
 
View Xaml
<telerikNavigation:RadWindow x:Class="VistaAdmin.Configuration.Presentation.ConfigurationView" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"          
    xmlns:v="clr-namespace:VistaAdmin.Configuration.Presentation" 
    xmlns:p="clr-namespace:VistaAdmin.Configuration.Properties" 
    xmlns:telerikNavigation="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Navigation" 
    xmlns:telerikRibbonBar="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.RibbonBar" 
    xmlns:telerikInput="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Input" 
    xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls" 
    xmlns:xamlHelpers="clr-namespace:VistaAdmin.Configuration.Domain" 
    Header="{Binding HeaderInfo}"   
    mc:Ignorable="d" Height="450" Width="450">  
    <StackPanel> 
        <ToolBar> 
            <Button x:Name="configSaveButton" ToolTip="{x:Static p:Resources.Save}" Command="{Binding SaveConfigCommand}">  
                <Image Source="../Resources/save.png" Width="16" Height="16"/>  
            </Button> 
            <Button x:Name="configValidateButton" ToolTip="{x:Static p:Resources.Validate}" Command="{Binding DBValidateCommand}">  
                <Image Source="../Resources/db.png" Width="16" Height="16"/>  
            </Button> 
        </ToolBar> 
        <Grid> 
              
        </Grid> 
    </StackPanel> 
</telerikNavigation:RadWindow> 
Harpreet
Top achievements
Rank 1
 answered on 07 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?