需要从silverlight的多重选择列表框中获得选中的项目

本文关键字:项目 列表 选择 silverlight | 更新日期: 2023-09-27 18:06:07

我使用以下代码在silverlight中绑定多重选择列表框中的值

  <ListBox x:Name="ValListBox" Margin="188,212,136,100" SelectionMode="Multiple">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem}, Path=IsSelected}" Content="{Binding}" />
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

我需要得到选定的项目文本使用c#?

需要从silverlight的多重选择列表框中获得选中的项目

通过下面的方法我们可以在多选列表框中获得选中的项目。

xaml的变化:我们需要添加Click Function。

 <ListBox x:Name="ValListBox" Margin="188,212,136,100" SelectionMode="Multiple">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <CheckBox   Click="CheckBox_Click" IsChecked="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem}, Path=IsSelected}"  Content="{Binding}" />
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox> 

在代码后面我们可以得到,

List<string> selecteditems = new List<string>();
 private void CheckBox_Click(object sender, RoutedEventArgs e)
        {
            var cb = sender as CheckBox;
            if (cb.IsChecked == true)
            {
                var item = cb.DataContext;
                selecteditems.Add(item.ToString());
            }
            else
            {
                var item = cb.DataContext;
                selecteditems.Remove(item.ToString());
            }
        }

在selecteditems List中,我们可以从Multiple Listbox

中获取所有被选中的项目