Create Binding for ListView in code : ListView « Windows Presentation Foundation « VB.Net Tutorial

Home
VB.Net Tutorial
1.Language Basics
2.Data Type
3.Operator
4.Statements
5.Date Time
6.Class Module
7.Development
8.Collections
9.Generics
10.Attributes
11.Event
12.LINQ
13.Stream File
14.GUI
15.GUI Applications
16.Windows Presentation Foundation
17.2D Graphics
18.I18N Internationlization
19.Reflection
20.Regular Expressions
21.Security
22.Socket Network
23.Thread
24.Windows
25.XML
26.Database ADO.net
27.Design Patterns
VB.Net
VB.Net by API
VB.Net Tutorial » Windows Presentation Foundation » ListView 
16.32.5.Create Binding for ListView 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
WPF Create Binding For List View In Code
16.32.ListView
16.32.1.ListView control with controls for columnsListView control with controls for columns
16.32.2.Set Binding ListView.ItemsSourceProperty to ListViewSet Binding ListView.ItemsSourceProperty to ListView
16.32.3.Create a ListView control that uses a GridView view mode to display a collection of DateTime objects.Create a ListView control that uses a GridView view mode to display a collection of DateTime objects.
16.32.4.Get Bounded item from ListViewGet Bounded item from ListView
16.32.5.Create Binding for ListView in codeCreate Binding for ListView in code
16.32.6.Create a ListView control that uses a GridView view mode to display the contents of an ObservableCollection<(Of <(T>)>).Create a ListView control that uses a GridView view mode to display the contents of an ObservableCollection<(Of <(T>)>).
16.32.7.Use three TextBlocks in one ListViewItemUse three TextBlocks in one ListViewItem
16.32.8.Create a ListView control that uses a GridView view mode to display dates.Create a ListView control that uses a GridView view mode to display dates.
16.32.9.ListView using GridView.HeaderTemplate and GridViewColumn.CellTemplate propertiesListView using GridView.HeaderTemplate and GridViewColumn.CellTemplate properties
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.