Telerik Forums
UI for WPF Forum
1 answer
236 views
The ASP.NET controls library has the ability to load items on-demand as the vertial scroll bar in a Grid is moved up or down.  Does the WPF GridView have a similar capability or am I limited to the standard paging layouts used, i.e. RadDataPager?
Vlad
Telerik team
 answered on 16 Mar 2010
0 answers
152 views
Anybody out there ?????????????

Can the transitions be used between pages...?  How?

I have a Menu page that calls other pages?


MainPage main = new MainPage();

button click ---    calls

Accounting  acct = new Accouting();

thanks...........
Jon
Top achievements
Rank 1
 asked on 16 Mar 2010
2 answers
278 views
Hi,

Is it possible to bind a string list to a gridView such that new entries can be created and the entries can be edited in the grid?
I am using Version 2009.3.1314.35.

Thank you.

Philipp
Philipp Kraft
Top achievements
Rank 1
 answered on 16 Mar 2010
3 answers
581 views
Hello all,
I am trying to create a configuration window that binds to an external XML file and implements two way binding in XAML. I have basically used the RadGridView demo as a starting point and have started to modify my code to implement the the two way binding piece, however I have hit a road block.

First off I am wondering whether I should use a DependencyObject or implement INotifiedProperty. At this point I am using a DependencyObject, however my textboxes do not appear to bind to the data, but the RadGridView does.

Basically I want to use the RadGridView as a list box on steroids and use the textboxes to edit/add records. However since this is an external xml file I am bit confused on what direction to take. Also I am using a ObservableCollection as my datasource, just as you do in the RadGridView demo, but I have also played around with using a XMLDataProvider. Any suggestions here?

Below are the basic classes I have so far.

Thanks for your help!

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:telerikSchema="http://schemas.telerik.com/2008/xaml/presentation" 
    xmlns:v="clr-namespace:VistaAdmin.Configuration.Presentation" 
    xmlns:p="clr-namespace:VistaAdmin.Configuration.Properties" 
    xmlns:db="clr-namespace:VistaAdmin.Configuration.Models" 
    xmlns:telerikGrid="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView" 
    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="420" Width="695" WindowStartupLocation="CenterOwner"   
    FontFamily="Calbri" ResizeMode="NoResize" telerik:StyleManager.Theme="{Binding Source={StaticResource settings}, Path=Default.Theme}">  
    <telerikNavigation:RadWindow.Resources> 
        <!--<XmlDataProvider Source="DataSources\Environments.xml" x:Key="xmlData" XPath="/EnvironmentList" />--> 
        <db:XmlDataSource x:Key="xmlData" Source="Environments.xml"/>  
    </telerikNavigation:RadWindow.Resources> 
    <StackPanel>         
        <telerikNavigation:RadToolBar telerik:StyleManager.Theme="{Binding Source={StaticResource settings}, Path=Default.Theme}">  
                <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> 
            </telerikNavigation:RadToolBar> 
        <Grid Height="Auto" > 
            <Grid.ColumnDefinitions> 
                <ColumnDefinition Width="250" MinWidth="180" /> 
                <ColumnDefinition Width="Auto" MinWidth="40" /> 
                <ColumnDefinition Width="*" MinWidth="180"/>  
            </Grid.ColumnDefinitions> 
            <Grid Grid.Column="0">  
                <Grid.RowDefinitions> 
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                    <RowDefinition MinHeight="25"/>  
                </Grid.RowDefinitions> 
                <Label x:Name="labelName" Grid.Row="0" Margin="5,0,5,0">  
                    <TextBlock Text="Environment Name:" TextWrapping="Wrap" Foreground="Black" /> 
                </Label> 
                <TextBox Grid.Row="1" x:Name="textName" Margin="5,0,5,0" Text="{Binding Path=Name, Mode=TwoWay}" /> 
                <Label x:Name="labelServerName" Grid.Row="2" Margin="5,0,5,0">  
                    <TextBlock Text="DB Server Name:" TextWrapping="Wrap" Foreground="Black" /> 
                </Label> 
                <TextBox Grid.Row="3" x:Name="textServerName" Margin="5,0,5,0" Text="{Binding Path=Servername, Mode=TwoWay}"/>  
                <Label x:Name="labelUserName" Grid.Row="4" Margin="5,0,5,0">  
                    <TextBlock Text="User Name:" TextWrapping="Wrap" Foreground="Black" /> 
                </Label> 
                <TextBox Grid.Row="5" x:Name="textUserName" Margin="5,0,5,0" Text="{Binding Path=Username, Mode=TwoWay}"/>  
                <Label x:Name="labelPassword" Grid.Row="6" Margin="5,0,5,0">  
                    <TextBlock Text="Password:" TextWrapping="Wrap" HorizontalAlignment="Left" Foreground="Black" /> 
                </Label> 
                <PasswordBox Grid.Row="7" Margin="5,0,5,0" Name="textPassword" PasswordChar="*" 
                        xamlHelpers:PasswordBoxAssistant.BindPassword="true" 
                        xamlHelpers:PasswordBoxAssistant.BoundPassword="{Binding Path=Password, Mode=TwoWay}"/>  
                <Label x:Name="labelDBName" Grid.Row="8" Margin="5,0,5,0">  
                    <TextBlock Text="DB Name:" TextWrapping="Wrap" Foreground="Black" /> 
                </Label> 
                <TextBox Grid.Row="9" x:Name="textDBName" Margin="5,0,5,0" Text="{Binding Path=Databasename, Mode=TwoWay}"/>  
                <Label x:Name="labelServerType" Grid.Row="10" Margin="5,0,5,0">  
                    <TextBlock Text="DB Server Type:" TextWrapping="Wrap" Foreground="Black" /> 
                </Label> 
                <StackPanel Grid.Row="11" Orientation="Horizontal" Margin="5,0,5,0" HorizontalAlignment="Center" > 
                    <telerik:RadRadioButton Width="80" Height="22"  Margin="0 0 15 0" 
                                        HorizontalContentAlignment="Center" VerticalContentAlignment="Center" IsChecked="True"   
                                        telerik:StyleManager.Theme="{Binding Source={StaticResource settings}, Path=Default.Theme}" > 
                        <telerik:RadRadioButton.Content> 
                            <StackPanel Orientation="Horizontal" Margin="4 0">  
                                <TextBlock Text="SQL" Foreground="#2b2b2d" FontSize="12"/>  
                            </StackPanel> 
                        </telerik:RadRadioButton.Content> 
                    </telerik:RadRadioButton> 
                    <telerik:RadRadioButton Width="80" Height="22" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" 
                                            telerik:StyleManager.Theme="{Binding Source={StaticResource settings}, Path=Default.Theme}">  
                        <telerik:RadRadioButton.Content> 
                            <StackPanel Orientation="Horizontal" Margin="4 0">  
                                <TextBlock Text="Oracle"   Foreground="#2b2b2d" FontSize="12"/>  
                            </StackPanel> 
                        </telerik:RadRadioButton.Content> 
                    </telerik:RadRadioButton> 
                </StackPanel> 
                <Label x:Name="labelRootPath" Grid.Row="12" Margin="5,0,5,0">  
                    <TextBlock Text="Root Path:" TextWrapping="Wrap" Foreground="Black" /> 
                </Label> 
                <StackPanel Grid.Row="13" Margin="5,0,5,0" Orientation="Horizontal">  
                    <TextBox x:Name="textPath" HorizontalAlignment="Left" Margin="0,0,5,0" Width="210" Text="{Binding Path=RootPath, Mode=TwoWay}"/>  
                    <telerik:RadButton Width="25" HorizontalAlignment="Right" Command="{Binding BrowseCommand}" telerik:StyleManager.Theme="{Binding Source={StaticResource settings}, Path=Default.Theme}">  
                        <telerik:RadButton.Content> 
                            <TextBlock Text="..." /> 
                        </telerik:RadButton.Content> 
                    </telerik:RadButton> 
                </StackPanel> 
            </Grid> 
            <Grid Grid.Column="1">  
                <StackPanel VerticalAlignment="Center" Margin="5,0,5,0">  
                    <telerik:RadButton Width="85" Height="22" HorizontalContentAlignment="Left" VerticalContentAlignment="Center"   
                                       telerik:StyleManager.Theme="{Binding Source={StaticResource settings}, Path=Default.Theme}" Command="{Binding AddCommand}">  
                        <telerik:RadButton.Content> 
                            <StackPanel Orientation="Horizontal" Margin="4,0,0,0" VerticalAlignment="Center">  
                                <Image Source="../Resources/Add.png" Width="16" Height="16" /> 
                                <TextBlock Text="Add" Foreground="#2b2b2d" FontSize="12" Margin="9 0 0 0"/>  
                            </StackPanel> 
                        </telerik:RadButton.Content> 
                    </telerik:RadButton> 
                    <telerik:RadButton Width="85" Height="22" HorizontalContentAlignment="Left" VerticalContentAlignment="Center" Margin="0,5,0,0" Command="{Binding RemoveCommand}" 
                                       telerik:StyleManager.Theme="{Binding Source={StaticResource settings}, Path=Default.Theme}">  
                        <telerik:RadButton.Content> 
                            <StackPanel Orientation="Horizontal" Margin="4,0,0,0" VerticalAlignment="Center">  
                                <Image Source="../Resources/Delete.png" Width="16" Height="16" /> 
                                <TextBlock Text="Remove" Foreground="#2b2b2d" FontSize="12" Margin="9 0"/>  
                            </StackPanel> 
                        </telerik:RadButton.Content> 
                    </telerik:RadButton> 
                </StackPanel> 
            </Grid> 
            <telerikGrid:RadGridView Grid.Column="2" Height="Auto" Name="gridEnvironments" Width="Auto" ItemsSource="{Binding Source={StaticResource xmlData}}" telerik:StyleManager.Theme="{Binding Source={StaticResource settings}, Path=Default.Theme}"/>  
        </Grid> 
    </StackPanel> 
</telerikNavigation:RadWindow> 
 

Dependency Object
using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Xml;  
using System.Windows;  
using System.Xml.Serialization;  
 
namespace VistaAdmin.Configuration.Models  
{  
    public class Environment : DependencyObject    
    {
        #region DependencyProperties  
            public static readonly DependencyProperty ServernameProperty =   
                DependencyProperty.Register("Servername"typeof(String), typeof(Environment));  
            public static readonly DependencyProperty NameProperty =   
                DependencyProperty.Register("Name"typeof(String), typeof(Environment));  
            public static readonly DependencyProperty DatabasenameProperty =   
                DependencyProperty.Register("Databasename"typeof(String), typeof(Environment));  
            public static readonly DependencyProperty UsernameProperty =   
                DependencyProperty.Register("Username"typeof(String), typeof(Environment));  
            public static readonly DependencyProperty PasswordProperty =   
                DependencyProperty.Register("Password"typeof(String), typeof(Environment));  
            public static readonly DependencyProperty ServerTypeProperty =   
                DependencyProperty.Register("ServerType"typeof(String), typeof(Environment));  
            public static readonly DependencyProperty RootPathProperty =   
                DependencyProperty.Register("RootPath"typeof(String), typeof(Environment));
        #endregion  
 
        #region IEnvironment Members  
 
        [XmlAttribute(AttributeName = "Servername")]  
        public string Servername  
        {  
            get {return (string)GetValue(ServernameProperty);}  
            set {SetValue(ServernameProperty,value);}             
        }  
 
        [XmlAttribute(AttributeName = "Name")]          
        public string Name  
        {  
            get {return (string)GetValue(NameProperty);}  
            set {SetValue(NameProperty,value);}                   
        }  
 
        [XmlAttribute(AttributeName = "Databasename")]  
        public string Databasename  
        {  
             get {return (string)GetValue(DatabasenameProperty);}  
            set {SetValue(DatabasenameProperty,value);}      
        }  
 
        [XmlAttribute(AttributeName = "Username")]  
        public string Username  
        {  
             get {return (string)GetValue(UsernameProperty);}  
            set {SetValue(UsernameProperty,value);}        
        }  
 
        [XmlAttribute(AttributeName = "Password")]  
        public string Password  
        {  
             get {return (string)GetValue(PasswordProperty);}  
            set {SetValue(PasswordProperty,value);}        
        }  
 
        [XmlAttribute(AttributeName = "ServerType")]  
        public string ServerType  
        {  
             get {return (string)GetValue(ServerTypeProperty);}  
            set {SetValue(ServerTypeProperty,value);}        
        }  
 
        [XmlAttribute(AttributeName = "RootPath")]  
        public string RootPath  
        {  
             get {return (string)GetValue(RootPathProperty);}  
            set {SetValue(RootPathProperty,value);}        
        }
        #endregion         
    }  

Observable Collection
using System;  
using System.Collections.Generic;  
using System.Collections.ObjectModel;  
using System.Linq;  
using System.Text;  
using System.Xml;  
using System.Xml.Serialization;  
 
namespace VistaAdmin.Configuration.Models  
{  
    [XmlRoot(ElementName = "EnvironmentList")]  
    public class EnvironmentsList : ObservableCollection<Environment>  
    {  
        public void AddRange(IEnumerable<Environment> range)  
        {  
            foreach (Environment node in range)  
            {  
                this.Add(node);  
            }  
        }  
 
        //public void Add(Environment node)  
        //{  
        //        this.Add(node);  
        //}  
    }  

Datasource
using System;  
using System.Reflection;  
using System.Collections.Generic;  
using System.Collections.ObjectModel;  
using System.Linq;  
using System.Text;  
using System.Xml;  
using System.Xml.Serialization;  
using System.Xml.XPath;  
using System.IO;  
using System.Windows.Data;  
using System.ComponentModel;  
using Microsoft.Practices.EnterpriseLibrary.Logging;  
 
namespace VistaAdmin.Configuration.Models  
{  
    public class XmlDataSource : EnvironmentsList  
    {  
        private string source;  
          
        public string Source  
        {  
            get 
            {  
                return this.source;  
            }  
            set 
            {  
                try 
                {  
                    Assembly executingAssembly = Assembly.GetExecutingAssembly();  
                    string xmlFile = Path.GetDirectoryName(executingAssembly.Location) + @"\DataSources\" + value;  
                    this.source = xmlFile;  
 
                    AddRange(RetrieveData(File.Open(xmlFile, FileMode.Open)));  
                }  
                catch (Exception ex)  
                {  
                    Log("Error occured retrieving data:" + ex.Message, System.Diagnostics.TraceEventType.Error);                      
                }  
            }  
        }  
 
        private EnvironmentsList RetrieveData(Stream xmlStream)  
        {  
            XmlSerializer serializer = new XmlSerializer(typeof(EnvironmentsList));  
            StreamReader reader = new StreamReader(xmlStream);  
            EnvironmentsList list = (EnvironmentsList)serializer.Deserialize(reader);  
            return list;  
        }  
 
        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 static void SaveData(Environment environment)  
        {  
            try 
            {  
                Assembly executingAssembly = Assembly.GetExecutingAssembly();  
                string xmlFile = Path.GetDirectoryName(executingAssembly.Location) + @"\DataSources\Environments.xml";  
                  
                XmlSerializer serializer = new XmlSerializer(typeof(EnvironmentsList));  
                StreamWriter writer = new StreamWriter(xmlFile);  
                serializer.Serialize(writer, environment);  
            }  
            catch (Exception ex)  
            {  
                Log("Error trying to save Enviroment: " + ex.Message, System.Diagnostics.TraceEventType.Error);  
            }  
        }  
    }  

External XML File
<?xml version="1.0" encoding="utf-8" ?> 
<EnvironmentList> 
  <Environment Name="Environment Name" Servername="Server" Username="sa" Password="!@#!@$!@%#" Databasename="DatabaseName" ServerType="SQL" RootPath="C:\Temp"/>    
</EnvironmentList> 
Tsvyatko
Telerik team
 answered on 16 Mar 2010
1 answer
117 views
Hi,
Does anyone know why Click Handler on the button does not work when the button is within RadBook control, while mousedoubleclick handler works ok.
Also the Expander control does not respond to click when the control is in the book.
Thanks in advance
Kiril Stanoev
Telerik team
 answered on 16 Mar 2010
4 answers
260 views
Hello,

I have table with a XML-Column (XElement). I would like to format the cell according to the specified XML-Data, so I was looking for a GridViewDataColumn.CellTemplateSelector but I did not found one.

Do you have an easy way to get this behaviour?

I have several DataTemplates for the XMLs which I want to use.

I was trying to style the GridViewCell and set the ContentControl.ContentTemplateSelector but this was not recognized by the RadGridView.

Do I have any other oportunities ?

Benedict
Benedict
Top achievements
Rank 1
 answered on 16 Mar 2010
1 answer
122 views
Hello,

I am using the GridView in my application. If I group the rows with a specific column, all the rows are grouped by that column and displayed accordingly. I want to get the group name on expand/collapse of a particular group. I am able to achieve this on expand by using the rowloaded event. But when I collapse the same group it is not firing. Can you tell me how can I achieve  this.

Thanks
Vlad
Telerik team
 answered on 16 Mar 2010
3 answers
144 views
I have following problem: i have a grid with several rows. Several user can edit the content at the same time. To avoid problems with saving data, rows which are currently editing have to be locked.
What i have until now, is a column with the username who is editing the row. If there is no editing, the cell has no value.
What I want: the style of currently editing rows should differ from the other rows e.g. font-style should be italic und light-gray. And the user should not have the possibility to select this row. Please help!
Thx
Milan
Telerik team
 answered on 16 Mar 2010
1 answer
54 views
Hi,
a simple question
Just wondering is there a way to hide a column ?

Thanks
Kristjan.
Vlad
Telerik team
 answered on 16 Mar 2010
5 answers
188 views
Hai

am using the  wpf rad grid view.

when i select the row in the grid view, i need to display selected row values(each cell value in the selected row) in some other view..

how to do this. can u provide some example to how get the values from selected row?

am using the below one to get the selected row value. but  i cant get the values.. how to get???

rGridView.SelectedItem = rGridView.Items[rGridView.Items.Count - 1];

dCODE
Top achievements
Rank 1
 answered on 16 Mar 2010
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
Book
FileDialogs
ToolBar
ColorPicker
TimePicker
SyntaxEditor
MultiColumnComboBox
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
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?