or
| using System; |
| using System.Collections.Generic; |
| using System.Collections.ObjectModel; |
| using System.Collections.Specialized; |
| using System.ComponentModel; |
| using System.DirectoryServices; |
| using System.Linq; |
| using System.Text; |
| using System.Threading; |
| using System.Windows; |
| using System.Windows.Controls; |
| using System.Windows.Data; |
| using System.Windows.Documents; |
| using System.Windows.Input; |
| using System.Windows.Media; |
| using System.Windows.Media.Imaging; |
| using System.Windows.Shapes; |
| using System.Windows.Threading; |
| using Telerik.Windows.Controls; |
| namespace TestXmlSerialize123 |
| { |
| /// <summary> |
| /// Interaction logic for Window2.xaml |
| /// </summary> |
| public partial class Window2 : Window |
| { |
| public Window2() |
| { |
| InitializeComponent(); |
| worker.DoWork += new DoWorkEventHandler(worker_DoWork); |
| worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted); |
| worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged); |
| //worker.WorkerReportsProgress = true; |
| //this.radGridView2.IsBusy = true; |
| DomainControllerList.CollectionChanged += OnCollectionChanged; |
| } |
| #region Variables |
| BackgroundWorker worker = new BackgroundWorker(); |
| #endregion |
| private void worker_DoWork(object sender, DoWorkEventArgs e) |
| { |
| //Thread.Sleep(5000); |
| FetchDomainControllers(); |
| } |
| private void worker_ProgressChanged(object sender, ProgressChangedEventArgs e) |
| { |
| this.radGridView2.ItemsSource = e.UserState; |
| } |
| private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) |
| { |
| this.radGridView2.ItemsSource = DomainControllerList; |
| } |
| private ObservableCollection<DADdomainControllers> _domainControllerList = new ObservableCollection<DADdomainControllers>(); |
| public ObservableCollection<DADdomainControllers> DomainControllerList |
| { |
| get { return _domainControllerList; } |
| } |
| private void FetchDomainControllers() |
| { |
| DirectoryEntry rootDSE = new DirectoryEntry("LDAP://rootDSE"); |
| string configurationNamingContext = (string)rootDSE.Properties["configurationNamingContext"].Value; |
| DirectoryEntry deConfig = new DirectoryEntry("LDAP://" + configurationNamingContext); |
| DirectorySearcher dsConfig = new DirectorySearcher(deConfig); |
| dsConfig.Filter = "(objectClass=ntDSDSA)"; |
| SearchResultCollection results = dsConfig.FindAll(); |
| foreach (SearchResult Result in results) |
| { |
| DirectoryEntry deDomain = Result.GetDirectoryEntry(); |
| if (deDomain != null) |
| { |
| string _dnsHostName = deDomain.Parent.Properties["DNSHostName"].Value.ToString(); |
| string _serverReference = deDomain.Parent.Properties["serverReference"].Value.ToString(); |
| _domainControllerList.Add(new DADdomainControllers { dnsHostName = _dnsHostName, distinguishedName = _serverReference }); |
| //radGridView2.Dispatcher.Invoke(DispatcherPriority.Normal,(Action)(() => { radGridView2.ItemsSource = DomainControllerList; })); |
| //this.radGridView2.ItemsSource = DomainControllerList; |
| } |
| } |
| } |
| public class DADdomainControllers |
| { |
| public string dnsHostName {get; set;} |
| public string distinguishedName {get; set;} |
| } |
| private void Window_Loaded(object sender, RoutedEventArgs e) |
| { |
| } |
| private void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) |
| { |
| //MessageBox.Show("Collection Changed"); |
| } |
| private void radGridView2_Loaded(object sender, RoutedEventArgs e) |
| { |
| Thread.Sleep(3000); |
| worker.RunWorkerAsync(); |
| } |
| } |
| } |
| <Window x:Class="TestXmlSerialize123.Window2" |
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" |
| Title="Window2" Height="600" Width="800" Loaded="Window_Loaded"> |
| <Grid> |
| <telerik:RadGridView Name="radGridView2" DataLoadMode="Asynchronous" Loaded="radGridView2_Loaded" /> |
| </Grid> |
| </Window> |

| Binding binding = new Binding(); |
| binding.Path = new PropertyPath("Image"); |
| binding.Mode = BindingMode.OneWay; |
| GridViewDataColumn imgCol = new GridViewDataColumn(); |
| DataTemplate dataTempl = new DataTemplate(); |
| FrameworkElementFactory rectElement = new FrameworkElementFactory(typeof(Rectangle)); |
| rectElement.SetBinding(Rectangle.FillProperty, binding); |
| rectElement.SetValue(Rectangle.WidthProperty, 16.0); |
| rectElement.SetValue(Rectangle.HeightProperty, 16.0); |
| dataTempl.VisualTree = rectElement; |
| imgCol.CellTemplate = dataTempl; |
| forGrid.Columns.Insert(0, imgCol); |
| <grid:RadGridView x:Name="radGridViewRaw1" ItemsSource="{Binding collectionRaw}" Margin="0" ShowColumnFooters="True" ShowGroupFooters="True" |
| AutoGenerateColumns="False" IsReadOnly="True" CanUserFreezeColumns="False"> |
| <grid:RadGridView.GroupDescriptors> |
| <data:GroupDescriptor Member="PressType" /> |
| <data:GroupDescriptor Member="ProcessWeek" /> |
| </grid:RadGridView.GroupDescriptors> |
| <grid:RadGridView.Columns> |
| <grid:GridViewDataColumn Header="Press Type" DataMemberBinding="{Binding PressType}" /> |
| <grid:GridViewDataColumn Header="Week" DataMemberBinding="{Binding ProcessWeek}" /> |
| <grid:GridViewDataColumn Width="200" Header="Copies Printed" TextAlignment="Right" DataMemberBinding="{Binding CopiesActual}" DataFormatString="{}{0:c}"> |
| <grid:GridViewDataColumn.AggregateFunctions> |
| <data:SumFunction Caption="Sum: " ResultFormatString="{}{0:c}" SourceField="CopiesActual" /> |
| <data:AverageFunction Caption="Average: " ResultFormatString="{}{0:c}" SourceField="CopiesActual" /> |
| </grid:GridViewDataColumn.AggregateFunctions> |
| <grid:GridViewDataColumn.Footer> |
| <StackPanel Orientation="Vertical" Margin="5,0"> |
| <TextBlock Text="Custom footer with aggregates:" Margin="0,0,0,2" /> |
| <gridView:AggregateResultsList ItemsSource="{Binding}" VerticalAlignment="Center" Grid.Column="4"> |
| <ItemsControl.ItemTemplate> |
| <DataTemplate> |
| <StackPanel Orientation="Horizontal" VerticalAlignment="Center"> |
| <TextBlock VerticalAlignment="Center" Text="{Binding Caption}" /> |
| <TextBlock VerticalAlignment="Center" Text="{Binding FormattedValue}" /> |
| </StackPanel> |
| </DataTemplate> |
| </ItemsControl.ItemTemplate> |
| <ItemsControl.ItemsPanel> |
| <ItemsPanelTemplate> |
| <StackPanel Orientation="Vertical" /> |
| </ItemsPanelTemplate> |
| </ItemsControl.ItemsPanel> |
| </gridView:AggregateResultsList> |
| </StackPanel> |
| </grid:GridViewDataColumn.Footer> |
| <grid:GridViewDataColumn.GroupFooterTemplate> |
| <DataTemplate> |
| <StackPanel Orientation="Vertical" Margin="5,0"> |
| <TextBlock Text="Tester:" Margin="0,0,0,2" /> |
| <gridView:AggregateResultsList ItemsSource="{Binding}" VerticalAlignment="Center" Grid.Column="4"> |
| <ItemsControl.ItemTemplate> |
| <DataTemplate> |
| <StackPanel Orientation="Horizontal" VerticalAlignment="Center"> |
| <TextBlock VerticalAlignment="Center" Text="{Binding Caption}" /> |
| <TextBlock VerticalAlignment="Center" Text="{Binding FormattedValue}" /> |
| </StackPanel> |
| </DataTemplate> |
| </ItemsControl.ItemTemplate> |
| <ItemsControl.ItemsPanel> |
| <ItemsPanelTemplate> |
| <StackPanel Orientation="Vertical" /> |
| </ItemsPanelTemplate> |
| </ItemsControl.ItemsPanel> |
| </gridView:AggregateResultsList> |
| </StackPanel> |
| </DataTemplate> |
| </grid:GridViewDataColumn.GroupFooterTemplate> |
| </grid:GridViewDataColumn> |
| </grid:RadGridView.Columns> |
| </grid:RadGridView> |

| <telerikInput:RadComboBox x:Name="comboTheme" ItemsSource="{Binding Source={StaticResource settings}, Path=Default.Theme}" |
| SelectedItem="{Binding Default.Theme, Mode=TwoWay}"/> |
| <userSettings> |
| <EliteExtender.Shell.Properties.Settings> |
| <setting name="MainWidth" serializeAs="String"> |
| <value>800</value> |
| </setting> |
| <setting name="MainHeight" serializeAs="String"> |
| <value>625</value> |
| </setting> |
| <setting name="MainState" serializeAs="String"> |
| <value /> |
| </setting> |
| <setting name="Theme" serializeAs="Xml"> |
| <value> |
| <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
| <string>Office_Blue</string> |
| <string>Office_Black</string> |
| <string>Office_Silver</string> |
| <string>Summer</string> |
| <string>Vista</string> |
| <string>Windows7</string> |
| </ArrayOfString> |
| </value> |
| </setting> |
| </EliteExtender.Shell.Properties.Settings> |
| </userSettings> |
| <ResourceDictionary |
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| xmlns:settings="clr-namespace:EliteExtender.Shell.Properties"> |
| <ResourceDictionary.MergedDictionaries> |
| <ResourceDictionary> |
| <settings:Settings x:Key="settings" /> |
| </ResourceDictionary> |
| </ResourceDictionary.MergedDictionaries> |
| </ResourceDictionary> |
