Bind to Object to ObjectDataProvider : ObjectDataProvider « Windows Presentation Foundation « C# / CSharp Tutorial






<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>
        <Grid.Resources>
            <ObjectDataProvider x:Key="processes" MethodName="GetProcesses" ObjectType="{x:Type diag:Process}"/>
        </Grid.Resources>
        <ListView Name="listView1" ItemsSource="{Binding Source={StaticResource processes}, debug:PresentationTraceSources.TraceLevel=High}">
            <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;

namespace WpfApplication1
{
    public partial class Monitor : Window
    {
        public Monitor()
        {
            InitializeComponent();
        }
    }
    public class AddPaddingValueConverter : IValueConverter
    {
        public AddPaddingValueConverter() { }

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            double d = System.Convert.ToDouble(value);
            return d + 20;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            double d = System.Convert.ToDouble(value);
            return d - 20;
        }
    }    
}
WPF Bind To Object To Object Data Provider








24.147.ObjectDataProvider
24.147.1.Bind to ObjectDataProviderBind to ObjectDataProvider
24.147.2.Bind to Object to ObjectDataProviderBind to Object to ObjectDataProvider
24.147.3.The ObjectDataProvider exposes the enum as a binding sourceThe ObjectDataProvider exposes the enum as a binding source
24.147.4.Set up ObjectDataProvider in codeSet up ObjectDataProvider in code
24.147.5.Create ObjectDataProvider and bind object to it in codeCreate ObjectDataProvider and bind object to it in code