or
GridSelectedZipCodes.ItemsSource = ZipGeoCodeService.GetForZipPart((string)item.Header, (float)_selectedDealer.Latitude, (float)_selectedDealer.Longitude, (float)_selectedDealer.MaxDistance);static public List<ZipGeoCode> GetForZipPart(string zippart, float latitude, float longitude, float distance)private void SelectZipCodes() { IsLoading = true; foreach (ZipGeoCode _item in GridSelectedZipCodes.Items) { if (_dealerZipCodes.Find(delegate(ZipGeoCode zgc) {return zgc.ID == _item.ID; }) != null) { GridSelectedZipCodes.SelectedItems.Add(_item); } } IsLoading = false; } SelectionChangeEventArgs
would be great.private void GridSelectedZipCodes_SelectionChanged(object sender, SelectionChangeEventArgs e) { if (!(IsLoading)) { //remove all items foreach (ZipGeoCode _item in GridSelectedZipCodes.Items) { if (_dealerZipCodes.Find(delegate(ZipGeoCode zgc) { return zgc.ID == _item.ID; }) != null) { _dealerZipCodes.Remove(_item); } } foreach (ZipGeoCode _item in GridSelectedZipCodes.SelectedItems) { _dealerZipCodes.Add(_item); } } }#region Deklarationenprivate ObservableCollection<RWF_GUI_TransferItems> _Items;/// <summary>/// Enthält alle Elemente die in dem GridView dargestellt werden./// </summary>public ObservableCollection<RWF_GUI_TransferItems> Items{ get { return _Items; } set { _Items = value; this.ValueChanged("Items"); }}private ICollectionView _ItemsView;/// <summary>/// View zur Überwachtung des aktuellen Grid-Items/// </summary>public ICollectionView ItemsView{ get { return _ItemsView; } set { _ItemsView = value; this.ValueChanged("ItemsView"); }}private RWF_GUI_TransferItems _AktuelleGridAuswahl;/// <summary>/// Aktuelle Gridzeile/// </summary>public RWF_GUI_TransferItems AktuelleGridAuswahl{ get { return _AktuelleGridAuswahl; } set { _AktuelleGridAuswahl = value; this.ValueChanged("AktuelleGridAuswahl"); }}public MainViewModel(){ this.Items = new ObservableCollection<RWF_GUI_TransferItems>(); this.ItemsView = CollectionViewSource.GetDefaultView(this.Items); this.ItemsView.CurrentChanged += new EventHandler(OnCurrentItemChanged);}void OnCurrentItemChanged(object sender, EventArgs e){ this.AktuelleGridAuswahl = (RWF_GUI_TransferItems)this.ItemsView.CurrentItem;}<telerik:RadGridView ItemsSource="{Binding ItemsView}" RowHeight="25" CanUserFreezeColumns="False" AutoGenerateColumns="False" ShowColumnFooters="true" x:Name="GridViewMain" IsSynchronizedWithCurrentItem="True" IsEnabled="{Binding AtWork, Converter={StaticResource NegateBoolConverter}}">OnCurrentItemChanged-Event is only being raised on startup (this.ItemsView.CurrentItem is null at this moment).<telerik:RadGridView Grid.Column="0" Grid.Row="0" Width="1324" HorizontalAlignment="Left" Name="grvRetScheduleTerms" VerticalAlignment="Top" AutoGenerateColumns="False" ActionOnLostFocus="None" CanUserFreezeColumns="False" SelectionUnit="FullRow" SelectionMode="Single" IsSynchronizedWithCurrentItem="True" CanUserDeleteRows="True" IsReadOnly="False" CanUserSelect="True" CanUserInsertRows="False" FontSize="16" AddingNewDataItem="grvRetScheduleTypes_AddingNewDataItem" RowEditEnded="grvRetScheduleTypes_RowEditEnded"> <telerik:RadGridView x:Name="RadGridView1" ShowGroupFooters="True" AutoGenerateColumns="False" > <telerik:RadGridView.GroupDescriptors> <telerik:GroupDescriptor Member="Name"> <telerik:GroupDescriptor.AggregateFunctions> <telerik:CountFunction /> </telerik:GroupDescriptor.AggregateFunctions> </telerik:GroupDescriptor> </telerik:RadGridView.GroupDescriptors> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding Age}" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Name}" > <telerik:GridViewDataColumn.AggregateFunctions> <telerik:CountFunction Caption="count:" /> </telerik:GridViewDataColumn.AggregateFunctions> </telerik:GridViewDataColumn> </telerik:RadGridView.Columns> </telerik:RadGridView><TelerikControls:RadGridView Name="grid" SelectionMode="Multiple" IsReadOnly="True"> <TelerikControls:RadGridView.GroupDescriptors> <telerik:GroupDescriptor Member="Id" SortDirection="Ascending"> <telerik:GroupDescriptor.AggregateFunctions> <telerik:CountFunction Caption="Models: " /> <telerik:SumFunction Caption="Reslts: " SourceField="ResultCount" /> </telerik:GroupDescriptor.AggregateFunctions> </telerik:GroupDescriptor> </TelerikControls:RadGridView.GroupDescriptors></TelerikControls:RadGridView>private ObservableCollection<TreeViewItems> items;public ObservableCollection<TreeViewItems> Items{ get { return items; } set { items = value; OnPropertyChanged("Items"); }}private string currentPath = "";public string CurrentPath{ get { return currentPath; } set { currentPath = value; OnPropertyChanged("CurrentPath"); }}internal void OnSelectedMenuChanged(TreeViewItems tvi) { ...some code... this.R = Util.CreateTreeView(); //returns an observable collection similar to the sample implementation this.CurrentPath = sb.ToString(); }<telerik:RadBreadcrumb x:Name="explorerBreadcrumb" Path="{Binding CurrentPath}" Header="{Binding R[0]}" HeaderMemberPath="CategoryName" HierarchicalItemsSource="SubCategories" HierarchicalMemberPath="CategoryName" ItemsSource="{Binding R[0].SubCategories}" TextModePath="CategoryName" />