Set up ObjectDataProvider in code : ObjectDataProvider « Windows Presentation Foundation « VB.Net

Home
VB.Net
1.2D
2.Application
3.Class
4.Data Structure
5.Data Types
6.Database ADO.net
7.Development
8.Event
9.File Directory
10.Generics
11.GUI
12.Language Basics
13.LINQ
14.Network Remote
15.Security
16.Thread
17.Windows Presentation Foundation
18.Windows System
19.XML
20.XML LINQ
VB.Net Tutorial
VB.Net by API
VB.Net » Windows Presentation Foundation » ObjectDataProviderScreenshots 
Set up ObjectDataProvider in code
Set up ObjectDataProvider 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:system="clr-namespace:System;assembly=mscorlib"
        Title="Monitor" Height="400" Width="389">
    <Grid>
        <Grid.Resources>
            <ObjectDataProvider x:Key="processes" MethodName="GetProcesses" ObjectType="{x:Type diag:Process}"/>
            <ObjectDataProvider x:Key="dateinfo" ObjectType="{x:Type system:DateTime}"/>
        </Grid.Resources>
        <ListView Name="listView1" ItemsSource="{Binding Source={StaticResource processes}}">
        </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

Imports System.Diagnostics
Imports System.Windows.Markup
Imports System.Xml
Imports System.IO
Imports System.Timers

Namespace WpfApplication1
  Public Partial Class Monitor
    Inherits Window
    Public Sub New()
      InitializeComponent()
      Dim provider As New ObjectDataProvider()
      provider.ObjectType = GetType(Process)
      provider.MethodName = "GetProcesses"

      Dim binding As New Binding()
      PresentationTraceSources.SetTraceLevel(binding, PresentationTraceLevel.High)
      binding.Source = provider
      binding.Mode = BindingMode.OneWay
      binding.UpdateSourceTrigger = UpdateSourceTrigger.Explicit
      listView1.ItemTemplate = CreateItemTemplateFromXaml()
      listView1.SetBinding(ListView.ItemsSourceProperty, binding)
    End Sub

    Private Function CreateItemTemplateFromXaml() As DataTemplate
      Dim templateXml As String = "<DataTemplate xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'><TextBlock Text='{Binding Path=ProcessName}'/></DataTemplate>"
      Dim templateBytes As Byte() = Encoding.UTF8.GetBytes(templateXml)

      Using templateStream As New MemoryStream(templateBytes)
        Dim template As DataTemplate = DirectCast(XamlReader.Load(templateStream), DataTemplate)
        Return template
      End Using
    End Function

    Private Function CreateItemTemplate() As DataTemplate
      Dim template As New DataTemplate()

      Dim panelFactory As New FrameworkElementFactory(GetType(WrapPanel))

      Dim idTextFactory As New FrameworkElementFactory(GetType(TextBlock))
      idTextFactory.SetBinding(TextBlock.TextProperty, New Binding("Id"))
      idTextFactory.SetValue(TextBlock.MinWidthProperty, 80.0)

      Dim workingSetTextFactory As New FrameworkElementFactory(GetType(TextBlock))
      workingSetTextFactory.SetBinding(TextBlock.TextProperty, New Binding("WorkingSet"))

      panelFactory.AppendChild(idTextFactory)
      panelFactory.AppendChild(workingSetTextFactory)
      template.VisualTree = panelFactory

      Return template
    End Function
  End Class
End Namespace

   
    
    
    
    
    
  
Related examples in the same category
1.Create ObjectDataProvider and bind object to it in codeCreate ObjectDataProvider and bind object to it in code
2.The ObjectDataProvider exposes the enum as a binding sourceThe ObjectDataProvider exposes the enum as a binding source
3.Bind to Object to ObjectDataProviderBind to Object to ObjectDataProvider
4.Use Path to reference Bounded object in ItemSourceUse Path to reference Bounded object in ItemSource
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.