选择ListBox项返回null

hellodave

我在WPF中使用数据绑定填充列表,并且一切正常。但是我无法在ListBox中获得所选项目的字符串。

这是我试图获取所选Item值的按钮代码。

private void hexButton_Click(object sender, RoutedEventArgs e)
    {
        if (imeiListBox.SelectedIndex == -1)
        {
            MessageBox.Show("Select IMEi from IMEI List!");
        }
        else
        {
            ListBoxItem myselectedItem= imeiListBox.SelectedItem as ListBoxItem;
            string text = myselectedItem.ToString();
        }
    }

这是ListBox的XAML代码。

 <ListBox x:Name="imeiListBox" 
          ItemsSource="{Binding Path=Devices}"  
          HorizontalAlignment="Left"  
          SelectionChanged="imeiListBox_SelectionChanged" >
        <ListBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Path=Imei}"/>
            </DataTemplate>
        </ListBox.ItemTemplate>

问题是字符串文本= myselectedItem.ToString(); 返回null如何解决这个问题?

毫米8

SelectedItem不会传回ListBoxItem它返回定义属性的类型(Device?)的实例Imei

因此,您应该强制转换为以下类型:

var myselectedItem= imeiListBox.SelectedItem as Device;
if (myselectedItem != null)
    string text = myselectedItem.Imei.ToString();

或者,您可以使用dynamic关键字:

dynamic myselectedItem= imeiListBox.SelectedItem;
string text = myselectedItem.Imei?.ToString();

请注意,如果SelectedItem返回带有Imei属性的对象以外的任何东西,这将在运行时失败如果知道类型,则更可取。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF在MVVM中取消选择ListBox项

来自分类Dev

选择ListBox项时触发的事件

来自分类Dev

ListBox项将冲突的属性返回给子级

来自分类Dev

选择项始终返回[对象,对象]

来自分类Dev

选择标记始终返回null

来自分类Dev

休眠子选择返回null

来自分类Dev

Gridview选择的行返回null

来自分类Dev

在 SQLite 上选择返回 null

来自分类Dev

尽管包含匹配项,但RegExp返回null

来自分类Dev

依赖项属性GetValue返回null

来自分类Dev

MySqli返回NULL值,无法插入或选择

来自分类Dev

SQLite 选择路径总是返回 Null

来自分类Dev

使用CollectionViewSource时如何防止ListBox自动选择第一项

来自分类Dev

多重选择-取消选择的值返回null

来自分类Dev

多重选择-取消选择的值返回null

来自分类Dev

当项目是 gradle 依赖项时 Native.loadLibrary() 返回 null

来自分类Dev

Outlook互操作。o几次尝试后的选择开始返回旧的选择项

来自分类Dev

即使表不返回匹配项,Linq 从多个连接中选择并返回所有行

来自分类Dev

ListBox中的foreach项| SqlReader

来自分类Dev

Cypher:如果参数为 NULL 则返回 ALL,否则返回特定项

来自分类Dev

JSP request.getParameter(“ ..”)始终为选择标记返回null

来自分类Dev

从多表中选择联接,如果列不匹配,则返回null

来自分类Dev

代码优先选择数据-相关实体始终返回null

来自分类Dev

当网页中存在标记时,Jsoup选择方法返回null

来自分类Dev

LINQ选择在创建新对象时返回NULL

来自分类Dev

ASP.NET Core 3.1选择标记返回null

来自分类Dev

我测试时类选择器返回null

来自分类Dev

从多表中选择连接如果列不匹配,则返回null

来自分类Dev

在XML中选择,且名称空间返回null

Related 相关文章

热门标签

归档