Data binding using collections composed of mixed types of data. : Binding « Windows Presentation Foundation « VB.Net






Data binding using collections composed of mixed types of data.

Data binding using collections composed of mixed types of data.
     

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:c="clr-namespace:WpfApplication1"
  x:Class="WpfApplication1.Window1"
  Title="CompositeCollections"
  SizeToContent="WidthAndHeight">
  <Window.Resources>
    <c:Employees x:Key="EmployeesData"/>

    <XmlDataProvider x:Key="NewStudentesData" XPath="NewStudentes/Student">
      <x:XData>
      <NewStudentes xmlns="">
        <Student Name="Jason" />
        <Student Name="Hercules" />
        <Student Name="Bellerophon" />
        <Student Name="Theseus" />
        <Student Name="Odysseus" />
        <Student Name="Perseus" />
      </NewStudentes>
      </x:XData>
    </XmlDataProvider>

    <DataTemplate DataType="{x:Type c:Employee}">
      <TextBlock Text="{Binding Path=Name}" Foreground="Gold"/>
    </DataTemplate>
    <DataTemplate DataType="Student">
      <TextBlock Text="{Binding XPath=@Name}" Foreground="Cyan"/>
    </DataTemplate>
  </Window.Resources>
  
  <StackPanel>
    <ListBox Name="myListBox" Height="300" Width="200">
      <ListBox.ItemsSource>
        <CompositeCollection>
          <CollectionContainer Collection="{Binding Source={StaticResource EmployeesData}}" />
          <CollectionContainer Collection="{Binding Source={StaticResource NewStudentesData}}" />
          <ListBoxItem Foreground="Red">Other Listbox Item 1</ListBoxItem>
        </CompositeCollection>
      </ListBox.ItemsSource>
    </ListBox>
  </StackPanel>
</Window>

//File:Window.xaml.vb

Imports System
Imports System.ComponentModel
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Documents
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports System.Windows.Data
Imports System.Collections.ObjectModel

Namespace WpfApplication1
  Public Partial Class Window1
    Inherits Window
    Public Sub New()
      InitializeComponent()
    End Sub
  End Class

  Public Class Employee
    Private _name As String

    Public Property Name() As String
      Get
        Return _name
      End Get
      Set
        _name = value
      End Set
    End Property

    Public Sub New(name__1 As String)
      Name = name__1
    End Sub
  End Class

  Public Class Employees
    Inherits ObservableCollection(Of Employee)
    Public Sub New()
      Add(New Employee("A"))
      Add(New Employee("B"))
      Add(New Employee("C"))
    End Sub
  End Class
End Namespace

   
    
    
    
    
  








Related examples in the same category

1.Bind to a Property of a UI ElementBind to a Property of a UI Element
2.Bind a Property of an Element to ItselfBind a Property of an Element to Itself
3.Specify a Default Value for a BindingSpecify a Default Value for a Binding
4.Create a Two-Way BindingCreate a Two-Way Binding
5.Debug Bindings Using Attached PropertiesDebug Bindings Using Attached Properties
6.String Array ResourceString Array Resource
7.Bind animate target value to Canvas(Window) widthBind animate target value to Canvas(Window) width
8.Display Current Date and Time: binding the DateTime.Now to LabelDisplay Current Date and Time: binding the DateTime.Now to Label
9.One way and two way bindingOne way and two way binding
10.Custom Element Binding WindowCustom Element Binding Window
11.Get XmlElement from Bounded viewGet XmlElement from Bounded view
12.Customize UpdateSourceExceptionFilterCustomize UpdateSourceExceptionFilter
13.Assign your own class to DataContent and bind to TextBoxAssign your own class to DataContent and bind to TextBox
14.Async bindingAsync binding
15.Null property bindingNull property binding
16.Binding Property with ExceptionBinding Property with Exception
17.Hierarchical Binding for three level nested objectsHierarchical Binding for three level nested objects
18.BindingOperations.GetBindingExpressionBindingOperations.GetBindingExpression
19.Bind to enum typesBind to enum types
20.Bind to a MethodBind to a Method
21.Manual Update TargetManual Update Target
22.Bind to the Values of an EnumerationBind to the Values of an Enumeration
23.Master Detail BindingMaster Detail Binding
24.Binding Environment InfoBinding Environment Info
25.Bind to an ADO.NETDataSetBind to an ADO.NETDataSet
26.Text Data BindingText Data Binding
27.Bind to an Existing Object InstanceBind to an Existing Object Instance
28.Digital ClockDigital Clock
29.Use Data Triggers to Change the Appearance of Bound DataUse Data Triggers to Change the Appearance of Bound Data