需要从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#?
通过下面的方法我们可以在多选列表框中获得选中的项目。
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