Use Path to reference Bounded object in ItemSource
<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.vb Imports System Imports System.Collections.Generic Imports System.Linq Imports System.Text Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Input Imports System.Windows.Media Imports System.Windows.Media.Imaging Imports System.Windows.Shapes Namespace WpfApplication1 Public Partial Class Monitor Inherits Window Public Sub New() InitializeComponent() End Sub End Class Public Class AddPaddingValueConverter Implements IValueConverter Public Sub New() End Sub Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert Dim d As Double = System.Convert.ToDouble(value) Return d + 20 End Function Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack Dim d As Double = System.Convert.ToDouble(value) Return d - 20 End Function End Class End Namespace
1. | Create ObjectDataProvider and bind object to it in code | ||
2. | The ObjectDataProvider exposes the enum as a binding source | ||
3. | Set up ObjectDataProvider in code | ||
4. | Bind to Object to ObjectDataProvider |