or
Hi,
I am developing windows application by using MVVM pattern.
I have RowDetailsTemplete. In the templete, i have button.click event fired on this button.
Click event opens a new pop up, user selects a value from that pop-up.
Now I need to bind data came from pop-up to textbox present in RowDetailsTemplete.
Pleasev help me how we can pass the data from Another view to RowDetails Templete using MVVM pattern.
<telerik:RadButton Content="NEW TASK" Padding="10,0" Margin="3,3" FontSize="10" Command="telerikGrid:RadGridViewCommands.BeginInsert" CommandTarget="{Binding ElementName=TasksGrid}" /> <telerik:RadGridView Grid.Row="1" Name="TasksGrid" ItemsSource="{Binding Items}" AutoGenerateColumns="False" ScrollMode="RealTime" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" ValidatesOnDataErrors="InEditMode" IsSynchronizedWithCurrentItem="True" AlternationCount="2" >
.....
public class ViewModel { public ViewModel() { Items = new ObservableCollection<ItemVM>(); InitItems(); } public ObservableCollection<ItemVM> Items { get; set; } private void InitItems() { for (int i = 1; i < 4; i++ ) { ItemVM item = new ItemVM("Item" + i); Items.Add(item); } int index = 1; foreach (ItemVM itemvm in Items) { for (int i = 1; i < 4; i++ ) { ItemVM item = new ItemVM(String.Format("Item{0}-Object{1}",index,i)); itemvm.Items.Add(item); } index++; } } } public class ItemVM { public ItemVM(string name) { this.Name = name; Items = new ObservableCollection<ItemVM>(); } public string Name { get { return m_cached_name; } set { if (m_cached_name != value) { m_cached_name = value; } } } public ObservableCollection<ItemVM> Items { get; set; } private String m_cached_name; }<Window xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="RedTreeView_Demo.MainWindow" xmlns:vm="clr-namespace:RedTreeView_Demo" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <vm:ViewModel x:Key="view_model"/> </Window.Resources> <Grid> <telerik:RadTreeListView Name="RadTreeListView1" ItemsSource="{Binding Source={StaticResource view_model}, Path=Items}" Sorting="RadTreeListView1_Sorting"> <telerik:RadTreeListView.ChildTableDefinitions> <telerik:TreeListViewTableDefinition ItemsSource="{Binding Items}"/> </telerik:RadTreeListView.ChildTableDefinitions> <telerik:RadTreeListView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding Name}" Header="Name" /> </telerik:RadTreeListView.Columns> </telerik:RadTreeListView> </Grid> </Window>namespace RedTreeView_Demo { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void RadTreeListView1_Sorting(object sender, Telerik.Windows.Controls.GridViewSortingEventArgs e) { //Gets the value of the ItemSource property IEnumerable<ItemVM> ItemVMs = e.DataControl.ItemsSource as IEnumerable<ItemVM>; if (ItemVMs == null) { e.Cancel = true; return; } //If the sorting state is none or descending, sort the items ascending if (e.OldSortingState == SortingState.None || e.OldSortingState == SortingState.Descending) { e.NewSortingState = SortingState.Ascending; ItemVMs = ItemVMs.OrderBy(item => item.GetType().GetProperty(e.Column.UniqueName).GetValue(item, null)); foreach (ItemVM itemVM in ItemVMs) { IEnumerable<ItemVM> ivms = itemVM.Items as IEnumerable<ItemVM>; ivms = ivms.OrderBy(item => item.GetType().GetProperty(e.Column.UniqueName).GetValue(item, null)); itemVM.Items = new ObservableCollection<ItemVM>(); foreach (ItemVM item in ivms) { itemVM.Items.Add(item); } } } //If the sorting state is ascending, sort the items descending else if (e.OldSortingState == SortingState.Ascending) { e.NewSortingState = SortingState.Descending; ItemVMs = ItemVMs.OrderByDescending(item => item.GetType().GetProperty(e.Column.UniqueName).GetValue(item, null)); foreach (ItemVM itemVM in ItemVMs) { IEnumerable<ItemVM> ivms = itemVM.Items as IEnumerable<ItemVM>; ivms = ivms.OrderByDescending(item => item.GetType().GetProperty(e.Column.UniqueName).GetValue(item, null)); itemVM.Items = new ObservableCollection<ItemVM>(); foreach (ItemVM item in ivms) { itemVM.Items.Add(item); } } } //Set the sorted collection as source of the RadTreeListView e.DataControl.ItemsSource = ItemVMs.ToList(); e.Cancel = true; } } }
![]() |
| From Jun 10, 2011 |
https://picasaweb.google.com/lh/photo/i_E8DgkXPbGfl1Q4mkgAr5yqLcPON_hRPVzfaDZS9TA?feat=directlink
<telerik:RadGridView Grid.Row="0" Name="radGridViewReuploadStatus" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" ShowGroupPanel="False" RowIndicatorVisibility="Collapsed" CanUserFreezeColumns="False" AutoGenerateColumns="False" DataLoadMode="Asynchronous"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="Post Title" DataMemberBinding="{Binding PostsData.Title}"></telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="P. Id" DataMemberBinding="{Binding PostId}"></telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="URL" DataMemberBinding="{Binding Url}"></telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Host" DataMemberBinding="{Binding Host}"></telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Filename" DataMemberBinding="{Binding Filename}"></telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Size" DataMemberBinding="{Binding Size}"></telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Original F.H. Id" DataMemberBinding="{Binding FileIdOnFilehost}"></telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Last Check" DataMemberBinding="{Binding LastTimeChecked}"></telerik:GridViewDataColumn> <telerik:GridViewCheckBoxColumn Header="D" DataMemberBinding="{Binding FileDeleted}"></telerik:GridViewCheckBoxColumn> <telerik:GridViewDataColumn Header="New F.H.Id" UniqueName="NewFilehostId" DataMemberBinding="{Binding NewIdOnFilehost}"></telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="New URL" UniqueName="NewUrl" DataMemberBinding="{Binding NewUrl}" Width="*"></telerik:GridViewDataColumn> </telerik:RadGridView.Columns> </telerik:RadGridView>
radChart.DefaultView.ChartArea.AxisX.IsDateTime = true;radChart.DefaultView.ChartArea.AxisX.Step = 5;radChart.DefaultView.ChartArea.AxisX.LabelStep = 2;radChart.DefaultView.ChartArea.AxisX.StepLabelLevelCount = 3;radChart.DefaultView.ChartArea.AxisX.StepLabelLevelHeight = 10;radChart.DefaultView.ChartArea.AxisX.DefaultLabelFormat = "hh:mm:ss";