WPF에서 내용이 Class 항목의 ListBox.SelectedItem을 가져옵니다.

10556 단어 ListBoxC#WPF
이미 나올지도 모르지만 비망록으로.

SelectedItems(복수 선택)의 꺼내는 방법도 썼습니다
htps : // 코 m / 미치오 029 / ms / 3b531 아 cd46 b1f81f7d7

준비



목록과 내용을 준비합니다.


MainWindow.xaml
<Window><!-- Windowの細かいのは省略 -->
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="50"/>
        </Grid.RowDefinitions>

        <ListBox Grid.Row="0" Name="ExampleList" Margin="10" SelectionMode="Single" ScrollViewer.VerticalScrollBarVisibility="Auto">
            <!-- SelectionMode="Single" :リストから一つしか選択できない -->
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding Id, StringFormat=IDは{0} :}"/>
                        <TextBlock Text="{Binding Name, StringFormat= Nameは{0} :}"/>
                        <TextBlock Text="{Binding Age, StringFormat= Ageは{0}}"/>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
        <Button Grid.Row="1" Name="Btn" Content="ボタン" Margin="100,10,100,10" Click="Btn_Click"/>
    </Grid>
</Window>

<TextBlock Text="{Binding Id, StringFormat=IDは{0} :}"/>이 근처의 문자열 형식을 쓰는 방법에 대해서는 여기에서 자세히 설명합니다.
htps : // 코 m / 코 아라 - 1 / / ms / 815 에 b5146b3-dc48 아 8c3

MainWindow.xaml.cs
public partial class MainWindow : Window
{
    List<ExampleClass> list = new List<ExampleClass>();
    public MainWindow()
    {
        InitializeComponent();

        list.Add(new ExampleClass() { Id = 0, Name = "aaa", Age = 10 });
        list.Add(new ExampleClass() { Id = 1, Name = "bbb", Age = 20 });
        list.Add(new ExampleClass() { Id = 2, Name = "ccc", Age = 30 });
        list.Add(new ExampleClass() { Id = 3, Name = "ddd", Age = 40 });
        list.Add(new ExampleClass() { Id = 4, Name = "eee", Age = 50 });
        ExampleList.ItemsSource = list;
    }

    private void Btn_Click(object sender, RoutedEventArgs e)
    {

    }
}
class ExampleClass
{
    public int Id { get; set; }
    public string Name { get; set; }
    public byte Age { get; set; }
}

SelectedItem 꺼내기



버튼 처리를 추가합니다.
    private void Btn_Click(object sender, RoutedEventArgs e)
    {
        // 選択項目が0 => メソッドを出る
        if (ExampleList.SelectedItems.Count == 0)
            return;

        // ExampleClassとして取り出す
        ExampleClass selitem = ExampleList.SelectedItem as ExampleClass;

        // 中身の確認
        Console.WriteLine("選択中の項目 Id:{0} Name:{1} Age{2}", selitem.Id, selitem.Name, selitem.Age);
    }

버튼을 누르십시오.


실행 결과
選択中の項目 Id:0 Name:aaa Age10

꺼낼 수 있었습니다.

좋은 웹페이지 즐겨찾기