Click here to Skip to main content
15,896,153 members
Articles / Desktop Programming / WPF

SelectedValuesListBox - A ListBox that implements more than one SelectedValue (SelectedValues)

Rate me:
Please Sign up or sign in to vote.
4.10/5 (5 votes)
20 Aug 2009CPOL3 min read 27.1K   382   11  
Using this, you could set the selection of a ListBox containing languages by binding it to a list of Guids.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sandrino.ViewModel
{
    public class MainViewModel
    {
        /// <summary>
        /// Me
        /// </summary>
        public Person Me { get; set; }

        /// <summary>
        /// List of available languages
        /// </summary>
        public List<Language> Languages { get; set; }

        /// <summary>
        /// Constructor
        /// </summary>
        public MainViewModel()
        {
            // Init languages
            InitLanguages();

            // Create person
            Me = new Person("Sandrino");
            Me.LanguageIDs.Add(new Guid("3863d982-f0da-4606-b4bd-efdff1b5cbf1"));
            Me.LanguageIDs.Add(new Guid("c0cba217-9edc-4bf1-9779-0906aae0ee3c"));
            Me.LanguageIDs.Add(new Guid("1ba0f84d-5d96-4400-b979-9a2ef0ec70f8"));
            Me.LanguageIDs.Add(new Guid("26837a61-56c1-469e-9891-bdd654d9c7bf"));
            // Me.LanguageNames.Add("Dutch");
            // Me.LanguageNames.Add("German");
        }

        /// <summary>
        /// Initialize the languages
        /// </summary>
        private void InitLanguages()
        {
            Languages = new List<Language>();
            Languages.Add(new Language() { Name = "Dutch", ID = new Guid("3863d982-f0da-4606-b4bd-efdff1b5cbf1") });
            Languages.Add(new Language() { Name = "English", ID = new Guid("c0cba217-9edc-4bf1-9779-0906aae0ee3c") });
            Languages.Add(new Language() { Name = "German", ID = new Guid("df455e7e-6e2d-44a4-9a5c-ed8638febd3c") });
            Languages.Add(new Language() { Name = "Chinese", ID = new Guid("5F70CBC5-D12D-4792-9B1D-2E72CFB2B12D") });
            Languages.Add(new Language() { Name = "Italian", ID = new Guid("1ba0f84d-5d96-4400-b979-9a2ef0ec70f8") });
            Languages.Add(new Language() { Name = "Spanish", ID = new Guid("818D8921-1134-48ee-9654-3340BD07A254") });
            Languages.Add(new Language() { Name = "French", ID = new Guid("26837a61-56c1-469e-9891-bdd654d9c7bf") });
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

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


Written By
Technical Lead RealDolmen
Belgium Belgium
I'm a Technical Consultant at RealDolmen, one of the largest players on the Belgian IT market: http://www.realdolmen.com

All posts also appear on my blogs: http://blog.sandrinodimattia.net and http://blog.fabriccontroller.net

Comments and Discussions