【问题标题】:How do you convert a TextBlock to a string in c# from WPF?如何从 WPF 将 TextBlock 转换为 c# 中的字符串?
【发布时间】:2011-05-28 21:33:57
【问题描述】:

如何将TextBlock 从 wpf 转换为 c# 中的字符串?我有一个包含文本块的列表框,以更改前景色。但是当我得到 listbox.selecteditem 时,它显然返回了一个文本块,但我需要知道文本块是什么,转换成一个字符串。我该怎么做?

【问题讨论】:

  • 还有,ToString()XD 怎么样
  • 那么为什么不让我发布问题呢?为什么我必须填充才能发布?
  • 因为完全知道您的问题很平凡,而且非常琐碎。 (公平地说,在这种情况下,“知道” 表示“以 x 的误差幅度进行启发式确定”
  • 然后重新阅读我的原始帖子,看看我在寻找什么。 textblock.text 不是我想要的。
  • 我不会重复自己。 SO的智慧也得到了证实,你的问题很糟糕,因为你完全没有恰当地表达你的问题。

标签: c# wpf textblock


【解决方案1】:

以下地区因历史原因而存在。


TextBlock.Text?

编辑:引用我链接到的文档:

TextBlock textBlock = new TextBlock();
textBlock.Text = "The text contents of this TextBlock.";

如果您现在仍然想不出任何方法将文本从 TextBlock 中取出,那么……我什至不知道是什么。

编辑:

...知道文本块是什么...

这几乎是你能得到的最模糊的。


开始回答(因为这并不明显)

根据您的一些 cmets,您显然尝试根据从 ListBox 获得的 TextBlock 重构信息。 TextBlocks 确实(并且应该)不包含对象状态信息,如果您拥有的信息不仅仅是文本,您应该创建一个具有相应属性的新类,这些对象的 bind to a collection 和适当的 datatemplate the collection

这样,SelectedItem 将成为包含您需要的信息的类的对象,如果您编辑该信息,UI 将反映这些更改。 TextBlocks are not homeopathic devices.

结束回答

从您在this question 上接受的答案来看,在我看来您只是不想费心学习数据绑定以及使 WPF 成为如此出色平台的所有内容。坚持创建容易出错的命令式 UI 的方法。


9001:

 string text = ((TextBlock)listbox.SelectedItem).Text;

这个?

【讨论】:

  • 我没有使用文本框。 +1 巧妙地链接到维基百科页面,以传达与逻辑答案无关的想法。我希望我能给你两个 upp'd 代表。
  • @darthwillard:跳到印刷错误的方法,请考虑您只是以错误的方式接近此问题的可能性,而我实际上是在这里提供帮助。 (我也看不到任何赞成票)
  • 如果您想提供帮助,您会阅读我在 cmets 中所写的关于我要完成的工作的内容。我正在尝试将项目添加到列表框并更改不同项目的前景色。我不需要人们指出原始问题与它无关。我尝试了一种不同的方法来解决问题并尝试使用文本块,但它并没有为我返回字符串。我尝试了string x = lbxSomeListbox.SelectedItem.ToString(),但它不起作用,因为所选项目是文本块而不是字符串。
  • 另外:“如果你想帮忙,你会……”,没有。如果我没有想帮忙,我一开始就不会回答。
  • “我可以看出我没有选择你的答案是我们之间争论的焦点。”实际上并非如此,因为我只是在相当长的一段时间后才注意到时间,它对我已经有点不安的态度没有任何影响,我只是不喜欢几乎不可能回答的问题,因为它们含糊不清,甚至无法正确表达手头的问题。正如您可能看到的那样,这与 TextBlocks 完全无关,也与它们转换为字符串无关,这只是与铸造/装箱/拆箱对象相关的基本 C# 知识。
【解决方案2】:

您不能将 TextBlock 转换为字符串。如果您指的是内容,请查看 H.B. 的答案。

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多