or
<
Window
x:Class
=
"WpfApplication1.Window1"
Title
=
"Window1"
Height
=
"300"
Width
=
"565"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
Loaded
=
"Window_Loaded"
>
<
Grid
>
<
telerik:RadGridView
Name
=
"radGridView1"
AddingNewDataItem
=
"radGridView1_AddingNewDataItem"
ShowInsertRow
=
"True"
>
</
telerik:RadGridView
>
</
Grid
>
</
Window
>
using
System;
using
System.Windows;
using
System.Collections.ObjectModel;
namespace
WpfApplication1
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public
partial
class
Window1 : Window
{
public
Window1()
{
InitializeComponent();
}
public
ObservableCollection<Employee> GetEmployees()
{
ObservableCollection<Employee> employees =
new
ObservableCollection<Employee>();
return
employees;
}
private
void
radGridView1_AddingNewDataItem(
object
sender, Telerik.Windows.Controls.GridView.GridViewAddingNewEventArgs e)
{
e.NewObject =
new
Employee();
}
private
void
Window_Loaded(
object
sender, RoutedEventArgs e)
{
this
.radGridView1.ItemsSource =
this
.GetEmployees();
}
}
public
class
Employee
{
string
_FirstName;
public
string
FirstName
{
get
{
return
_FirstName; }
set
{
if
(value.Length > 5)
{
throw
new
Exception(
"Firstname must be less than 6"
);
}
_FirstName = value;
}
}
}
}
cell.PreferredWidth =
new
TableWidthUnit((
float
)columns[i].ActualWidth);
<
telerik:RadTileView
>
<
telerik:RadTileViewItem
>
<
Grid
x:Name
=
"LayoutRoot"
Background
=
"White"
>
<
Grid.Resources
>
<
Style
TargetType
=
"ListViewItem"
>
<
Setter
Property
=
"telerik:DragDropManager.AllowCapturedDrag"
Value
=
"True"
></
Setter
>
</
Style
>
<
DataTemplate
x:Key
=
"ApplicationTemplate"
>
<
StackPanel
Orientation
=
"Horizontal"
>
<
TextBlock
Margin
=
"5"
Text
=
"{Binding Name}"
VerticalAlignment
=
"Center"
></
TextBlock
>
</
StackPanel
>
</
DataTemplate
>
</
Grid.Resources
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
></
ColumnDefinition
>
<
ColumnDefinition
></
ColumnDefinition
>
</
Grid.ColumnDefinitions
>
<
ListView
x:Name
=
"ApplicationList"
ItemTemplate
=
"{StaticResource ApplicationTemplate}"
AllowDrop
=
"True"
/>
<
ListView
x:Name
=
"MyAppList"
Background
=
"Gray"
Grid.Column
=
"1"
ItemTemplate
=
"{StaticResource ApplicationTemplate}"
AllowDrop
=
"True"
/>
</
Grid
>
</
telerik:RadTileViewItem
>
</
telerik:RadTileView
>
public
partial
class
MainWindow : Window
{
public
MainWindow()
{
InitializeComponent();
ObservableCollection<Item> items =
new
ObservableCollection<Item>();
for
(
int
i = 1; i <= 10; i++)
items.Add(
new
Item() { Name =
string
.Format(
"item {0}"
, i) });
ApplicationList.ItemsSource = items;
MyAppList.ItemsSource =
new
ObservableCollection<Item>();
DragDropManager.AddDragInitializeHandler(ApplicationList, OnDragInitialize);
DragDropManager.AddDragInitializeHandler(MyAppList, OnDragInitialize);
DragDropManager.AddGiveFeedbackHandler(ApplicationList, OnGiveFeedback);
DragDropManager.AddGiveFeedbackHandler(MyAppList, OnGiveFeedback);
DragDropManager.AddDragDropCompletedHandler(ApplicationList, OnDragCompleted);
DragDropManager.AddDragDropCompletedHandler(MyAppList, OnDragCompleted);
DragDropManager.AddDropHandler(ApplicationList, OnDrop);
DragDropManager.AddDropHandler(MyAppList, OnDrop);
}
private
void
OnDragInitialize(
object
sender, DragInitializeEventArgs args)
{
args.AllowedEffects = DragDropEffects.Move;
//args.AllowedEffects = DragDropEffects.All;
args.Data = ((FrameworkElement)args.OriginalSource).DataContext;
args.DragVisual =
new
ContentControl { Content = args.Data, ContentTemplate = LayoutRoot.Resources[
"ApplicationTemplate"
]
as
DataTemplate };
}
private
void
OnGiveFeedback(
object
sender, Telerik.Windows.DragDrop.GiveFeedbackEventArgs args)
{
System.Diagnostics.Trace.WriteLine(
string
.Format(
"{0} - OnGiveFeedback sender={1}"
, DateTime.Now, sender));
args.SetCursor(Cursors.Arrow);
args.Handled =
true
;
}
private
void
OnDrop(
object
sender, Telerik.Windows.DragDrop.DragEventArgs args)
{
System.Diagnostics.Trace.WriteLine(
string
.Format(
"{0} - OnDrop sender={1}"
, DateTime.Now, sender));
((IList)(sender
as
ListBox).ItemsSource).Add(((DataObject)args.Data).GetData(
typeof
(Item)));
}
public
void
OnDragCompleted(
object
sender, Telerik.Windows.DragDrop.DragDropCompletedEventArgs args)
{
System.Diagnostics.Trace.WriteLine(
string
.Format(
"{0} - OnDragCompleted sender={1}"
, DateTime.Now, sender));
((IList)(sender
as
ListBox).ItemsSource).Remove(args.Data);
}
}
public
class
Item
{
public
string
Name {
get
;
set
; }
}
Hi,
I have a requirement
Requirement 1# : Inside a Hirerchy Template placed 2 Grids where in
1st grid 3 columns where 1 column has Combo Box loaded with Values.
For ex: Football, Disco
If i select Football, 2 grid placed inside Hirechy Template should be visible or else visbility of that grid should be collapsed.
How can i solve this.
Requirement 2#: Can i pass Observable collection as converter parameter
<Radcombobox selecteditem={Binding collection, converter={}} -> to show as like A,B,C (Selected Items as comma separated)
<
controls:RadGridView
Name
=
"clubsGrid"
ItemsSource
=
"{Binding Clubs}"
Grid.Row
=
"0"
AutoGenerateColumns
=
"False"
IsReadOnly
=
"True"
SelectionMode
=
"Single"
DataContext
=
"{StaticResource MyViewModel}"
>
<
controls:RadGridView.ChildTableDefinitions
>
<
controls:GridViewTableDefinition
/>
</
controls:RadGridView.ChildTableDefinitions
>
<
controls:RadGridView.Columns
>
<
controls:GridViewDataColumn
DataMemberBinding
=
"{Binding Name}"
Header
=
"Est."
></
controls:GridViewDataColumn
>
<
controls:GridViewDataColumn
DataMemberBinding
=
"{Binding Established}"
></
controls:GridViewDataColumn
>
</
controls:RadGridView.Columns
>
<
controls:RadGridView.HierarchyChildTemplate
>
<
DataTemplate
>
<
controls:RadGridView
Name
=
"playersGrid"
ItemsSource
=
"{Binding Players}"
AutoGenerateColumns
=
"False"
EnableRowVirtualization
=
"False"
EnableColumnVirtualization
=
"False"
>
<controls:RadGridView.ChildTableDefinitions
>
<
controls:GridViewTableDefinition
/>
</
controls:RadGridView.ChildTableDefinitions
>
<
controls:RadGridView.Columns
>
<
controls:GridViewDataColumn
DataMemberBinding
=
"{Binding Name}"
>
</
controls:GridViewDataColumn
>
<
controls:GridViewDataColumn
DataMemberBinding
=
"{Binding SelectedItem.Name}"
>
<
controls:GridViewDataColumn.CellEditTemplate
>
<
DataTemplate
>
<
RadControls:RadComboBox
ItemsSource
=
"{Binding Hobbies, Mode=OneTime}"
SelectedItem
=
"{Binding SelectedItem,Mode=TwoWay}"
SelectedValue
=
"Name"
DisplayMemberPath
=
"Name"
>
</
RadControls:RadComboBox
>
</
DataTemplate
>
</
controls:GridViewDataColumn.CellEditTemplate
>
</
controls:GridViewDataColumn
>
</
controls:RadGridView.Columns
>
<
telerik:RadGridView.HierarchyChildTemplate>
<HierarchicalDataTemplate>
<controls:RadGridView
Name
=
"Hobbies"
ItemsSource
=
"{Binding Hobbies}"
AutoGenerateColumns
=
"True"
EnableRowVirtualization
=
"False"
EnableColumnVirtualization
=
"False"
/>
</
controls:RadGridView
>
</
HierarchicalDataTemplate>
</telerik:RadGridView.HierarchyChildTemplate>
</
DataTemplate
>
</
controls:RadGridView.HierarchyChildTemplate
>
</
controls:RadGridView
>