C# 列表框清单SelectedItem返回空值
我想创建一个列表框,从中可以通过复选框选择元素。它通过数据绑定从数据库获取元素。这些项目出现在列表框中,但当我发送表单时,隐藏的代码没有收到SelectedItem值 列表框的XAML部分如下所示:C# 列表框清单SelectedItem返回空值,c#,wpf,data-binding,C#,Wpf,Data Binding,我想创建一个列表框,从中可以通过复选框选择元素。它通过数据绑定从数据库获取元素。这些项目出现在列表框中,但当我发送表单时,隐藏的代码没有收到SelectedItem值 列表框的XAML部分如下所示: <Grid x:Name="grMozik" Visibility="Visible" Margin="0,0,0,0" DataContext="{Binding}" Grid.Row="3" Grid.ColumnSpan="2"> <ListBox Name="lbM
<Grid x:Name="grMozik" Visibility="Visible" Margin="0,0,0,0" DataContext="{Binding}" Grid.Row="3" Grid.ColumnSpan="2">
<ListBox Name="lbMozik" Margin="15" Width="300" Height="200" ItemsSource="{Binding}">
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Focusable" Value="False"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding MoziNeve}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
string text = ((ListBoxItem)lbMozik.SelectedItem).Content.ToString();
MessageBox.Show(text2);
ListBox.SelectedItem
来自一个ListBoxItem
,它的IsSelected
属性设置为true
。如果要通过复选框进行选择,请将每个复选框绑定到所有者ListBoxItem.IsSelected
:
<CheckBox Content="{Binding MoziNeve}"
IsChecked="{Binding IsSelected, RelativeSource={RelativeSource AncestorType=ListBoxItem}}"/>
ListBox.SelectedItem
不是一个ListBoxItem
,它是一个数据对象,除了数据对象是一个ListBoxItem
@Rekshino之外,它也可以是ListBoxItem(当Items集合充满ListBoxItems时),正如我写的“数据对象是ListBoxItem”创建并发布一个。