c# – 从绑定的ListBox中获取所选项字符串

c# – 从绑定的ListBox中获取所选项字符串,第1张

概述我在从列表框中的绑定文本块中获取字符串时遇到问题,当我使用下面的代码时,我可以绑定列表框,列表框中有项目显示,但是当列表中的项目被点击时我不会得到正确的字符串,我在消息框中打印一个带有对象名称的消息 “MyApp.Item” 而是显示出来. myApp是应用程序的名称,Item是我绑定到列表框的模型的名称.当列表框没有绑定时,所选项目中的正确文本显示出来. private void listBox 我在从列表框中的绑定文本块中获取字符串时遇到问题,当我使用下面的代码时,我可以绑定列表框,列表框中有项目显示,但是当列表中的项目被点击时我不会得到正确的字符串,我在消息框中打印一个带有对象名称的消息

“MyApp.Item”

而是显示出来. myApp是应用程序的名称,Item是我绑定到列表框的模型的名称.当列表框没有绑定时,所选项目中的正确文本显示出来.

private voID ListBoxtrend_Tap(object sender,GestureEventArgs e){    selectedText = "";    selectedText = ListBox.SelectedValue.ToString();    MessageBox.Show(selectedText);}

XML

<ListBox ItemsSource="{Binding Item}" Foreground="RoyalBlue"     Height="395" HorizontalAlignment="Center"     margin="12,111,0" name="ListBox"     VerticalAlignment="top" WIDth="438"    TabIndex="10"  Tap="ListBox_Tap" >    <ListBox.ItemTemplate>        <DataTemplate>            <TextBlock textwrapPing="Wrap" FontSize="26" HorizontalAlignment="left"                name="tblitem" Text="{Binding ItemString}"                VerticalAlignment="top" />        </DataTemplate>    </ListBox.ItemTemplate></ListBox>

如果你能帮助我,我真的很感激

解决方法 您将绑定到DataTemplate的TextBlock中的ItemString和ListVIEw中的Item Collection.因此,SelectedValue将是Item类型.您应该在Tap处理程序中实际执行类似的 *** 作以获取ItemString的值…

private voID ListBoxtrend_Tap(object sender,GestureEventArgs e){    selectedText = "";    var selected = ListBox.SelectedValue as Item;    selectedText = selected.ItemString;    MessageBox.Show(selectedText);}

在您的示例中,ToString正在打印类的名称.您还可以在Item模型中覆盖ToString,使其成为您想要的字符串.

注意:类型等可能有点过时,我猜测你的问题中写的内容有点偏差.此外,无需将selectedText设置为只在上面第三行中覆盖的空字符串.我想保留它,以便您可以了解我在代码中更改的内容.

总结

以上是内存溢出为你收集整理的c# – 从绑定的ListBox中获取所选项字符串全部内容,希望文章能够帮你解决c# – 从绑定的ListBox中获取所选项字符串所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1223368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存