첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ ListBox 클래스 : 선택 값 바인딩 하기

----------------------------------------------------------------------------------------------------

using System;

using System.Reflection;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Media;

using System.Windows.Shapes;

 

/// <summary>

/// 메인 윈도우

/// </summary>

public class MainWindow : Window

{

    //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor

    ////////////////////////////////////////////////////////////////////////////////////////// Public

 

    #region 생성자 - MainWindow()

 

    /// <summary>

    /// 생성자

    /// </summary>

    public MainWindow()

    {

        Title = "ListBox 바인딩 예제";

 

 

        ListBox listBox = new ListBox();

 

        listBox.Width  = 150;

        listBox.Height = 150;

 

        Content = listBox;

 

        PropertyInfo[] propertyInfoArray = typeof(Brushes).GetProperties();

 

        foreach(PropertyInfo propertyInfo in propertyInfoArray)

        {

            Ellipse ellipse = new Ellipse();

 

            ellipse.Width  = 100;

            ellipse.Height = 25;

            ellipse.Margin = new Thickness(10, 5, 0, 5);

            ellipse.Fill   = propertyInfo.GetValue(null, null) as Brush;

 

            listBox.Items.Add(ellipse);

        }

 

        listBox.SelectedValuePath = "Fill";

 

        listBox.SetBinding(ListBox.SelectedValueProperty, "Background");

 

        listBox.DataContext = this;

    }

 

    #endregion

 

    //////////////////////////////////////////////////////////////////////////////////////////////////// Method

    ////////////////////////////////////////////////////////////////////////////////////////// Static

    //////////////////////////////////////////////////////////////////////////////// Private

 

    #region 프로그램 시작하기 - Main()

 

    /// <summary>

    /// 프로그램 시작하기

    /// </summary>

    [STAThread]

    private static void Main()

    {

        Application application = new Application();

 

        application.Run(new MainWindow());

    }

 

    #endregion

}

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요