Click here to Skip to main content
Click here to Skip to main content

Different ways to bind a data in Codebind from XAML

, 7 Jan 2011
Rate this:
Please Sign up or sign in to vote.
Databinding Concept in WPF
I see many questions in "Question & Answers" section regarding the data binding issue in WPF. And when I see the question, they miss a very simple thing.
 
This is a tip to help them out. And basically for beginners who are trying to learn the data binding concepts.
 
The sample, I provide here is:
- WPF Application
- C# Language
 
Create a WPF Application from your Visual Studio. Place a ListBox.
 
XAML:
 
<Window x:Class="WpfApplication2.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:loc="clr-namespace:WpfApplication2"
        Title="Window1" Height="300" Width="300"
        x:Name="windowObject">
    <Grid>
        <ListBox  />
    </Grid>
</Window>
 
Add a simple Property in the codebehind of Window1 as CollectionOfString which is nothing but List<string>. Add few items into the CollectionOfString for our DataBinding example.
 
CS:
 
using System.Collections.Generic;
using System.Windows;
namespace WpfApplication2
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            this.CollectionOfString = new List<string>();
            this.CollectionOfString.Add("Apple");
            this.CollectionOfString.Add("Banana");
            this.CollectionOfString.Add("Custard Apple");
            InitializeComponent();
        }
        public List<string> CollectionOfString
        {
            get;
            set;
        }
    }
}
 
Now go to the designer/XAML window. You simply set binding of the CollectionOfString in two ways like below:
 
Way 1:
 
<ListBox ItemsSource="{Binding RelativeSource={RelativeSource AncestorType={x:Type loc:Window1}}, Path=CollectionOfString}" />
 
Here "loc" is the namespace of Window1 class.
 
Way 2:
 
<ListBox ItemsSource="{Binding ElementName=windowObject, Path=CollectionOfString}"/>
 
Here "windowObject" is the name of the Window.
 
Let me know if you have any questions.
 
I hope it is helpful.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Venkatesh Mookkan
Team Leader
Australia Australia
He is from a small village in Tirunelveli, TamilNadu (India). He is fun loving guy. He like to travel a lot. Bikes/Cars/Mobiles are his fantasies.
 
He started his career as a BPO Data Entry Assistant and got chance to work as an ASP.NET Programmer in the same company after a year. And he move to the next company in 2006 as Software Engineer.
 
He worked as a Team Leader in a private software development company @Chennai, India. For the past 9 years, he learnt many things in .NET. He worked as ASP.NET developer and now working as WPF Application Developer in the same company for past 4 years.
 
He started working as a Lead Developer in a small private company @Sydney, Australia.
Follow on   Twitter   Google+

Comments and Discussions

 
GeneralWhat about adding a note on how to do it when the Collection... PinmemberMichael900017-Oct-11 4:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.140721.1 | Last Updated 7 Jan 2011
Article Copyright 2011 by Venkatesh Mookkan
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid