ホーム > コンピュータ > C# > WPF in C# > ListBox

Listboxで選択した要素をTextBoxに表示します。[C#WPF]

概要

C# WPFのListboxで選択した要素のデータを取り出す方法です。 この例では、選択したListBoxのItemのCaptionをLabel要素に表示させています。 [msdn]のListBoxクラスのサンプルを動作するプロジェクトにまとめ直したものです。

Listboxで選択した要素をTextBoxに表示します。

[xaml]


<Window x:Class="Listbox01.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="200" Width="300">
    
    <DockPanel>
        <TextBox DockPanel.Dock="Top" Name="tb" Height="30"></TextBox>
        <ListBox DockPanel.Dock="Bottom"  x:Name="lb" 
        			SelectionChanged="PrintText" SelectionMode="Single">
            <ListBoxItem content="Item 1"/>
            <ListBoxItem content="Item 2"/>
            <ListBoxItem content="Item 3"/>
            <ListBoxItem content="Item 4"/>
            <ListBoxItem content="Item 5"/>
            <ListBoxItem content="Item 6"/>
            <ListBoxItem content="Item 7"/>
            <ListBoxItem content="Item 8"/>
            <ListBoxItem content="Item 9"/>
            <ListBoxItem content="Item 10"/>
        </ListBox>
    </DockPanel>
</Window>
				

[xaml.cs]


using System.Windows;
using System.Windows.Controls;

namespace Listbox01
{
    /// <summary>
    /// MainWindow.xaml の相互作用ロジック
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        void PrintText(object sender, SelectionChangedEventArgs args)
        {
            ListBoxItem lbi = ((sender as ListBox).SelectedItem as ListBoxItem);
            tb.Text = "   You selected " + lbi.Content.ToString() + ".";
        }
    }
}
				

プログラムを実行する

実行直後の状態
実行直後の状態です。

項目を選択した状態
ListBoxのアイテムを選択すると、TextBoxにどのアイテムが選択されたか表示されます。

参考サイト

動作確認環境

Microsoft Visual Studio Express 2013 for Desktop 64bit
Windows 8.1 pro 64bit
ページトップへ
ListBox
WPF in C#
C#トップ
Copyright (C) 2011-2016 kukekko All Rights Reserved.
kukekko@gmail.com
ご連絡の際はアドレスの@は半角にしてください。 また、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません 」。
inserted by FC2 system