Mega Code Archive

 
Categories / C# / WPF
 

Create ObjectDataProvider and bind object to it in code

<Window x:Class="WpfApplication1.Monitor"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     xmlns:diag="clr-namespace:System.Diagnostics;assembly=System"     xmlns:debug="clr-namespace:System.Diagnostics;assembly=WindowsBase"     Title="Monitor" Height="400" Width="400">     <Grid>         <ListView Name="listView1">             <ListView.ItemTemplate>                 <DataTemplate>                     <WrapPanel>                         <TextBlock Text="{Binding Path=Id}" MinWidth="80" />                         <TextBlock Text="{Binding Path=ProcessName}" MinWidth="180" />                         <TextBlock>                                 <TextBlock.Text>                                     <Binding Path="WorkingSet" />                                 </TextBlock.Text>                         </TextBlock>                     </WrapPanel>                 </DataTemplate>             </ListView.ItemTemplate>         </ListView>     </Grid> </Window> //File:Window.xaml.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; 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.Diagnostics; namespace WpfApplication1 {     public partial class Monitor : Window     {         public Monitor()         {             InitializeComponent();             BindProcessesToListView();         }         private void BindProcessesToListView()         {             ObjectDataProvider provider = new ObjectDataProvider();             provider.ObjectType = typeof(Process);             provider.MethodName = "GetProcesses";             Binding binding = new Binding();             binding.Source = provider;             binding.Mode = BindingMode.OneWay;             listView1.SetBinding(ListView.ItemsSourceProperty, binding);         }     } }