WPF 换行问题

发布于 2024-11-30 06:53:20 字数 876 浏览 1 评论 0原文

我有一个 TextBlock,想要显示数据库中的信息。 我不想显示这样的文本:

Task for Day xy
- blabla
- blabla 
- more blablabla

不知怎的,我需要包含一个换行符..我想\n..所以数据库中的文本看起来像:

Task for Day xy\n- blabla\n - blabla\n- 更多blablabla

不起作用。

我在网上尝试并搜索了几个小时..没有解决方案如何做到这一点。 这也不起作用:

Task for Day xy<LineBreak />- blabla<LineBreak />- blabla<LineBreak />- more blablabla

应用程序准确地显示了数据库中的字符串,没有换行。

这里是 xaml 的部分:

<Grid>
  <Grid.ColumnDefinitions>
      <ColumnDefinition Width="100" />
      <ColumnDefinition Width="*" />
  </Grid.ColumnDefinitions>
  <TextBlock Grid.Column="1" Text="{Binding Date, StringFormat={}{0:dd.MM.yyyy}}" Margin="6" />
  <TextBlock Grid.Column="2" Text="{Binding Notes}" Margin="6" />
</Grid>

有什么想法吗?

I have a TextBlock and want to show information from the database.
I wan't to display the text like this:

Task for Day xy
- blabla
- blabla 
- more blablabla

Somehow I need to include a character for the newlines.. I thoug about \n.. so the text in the database would look like:

Task for Day xy\n- blabla\n- blabla\n- more blablabla

doesn't work.

I tried and searched online for hours.. no solution how to do that.
Also this doesn't work:

Task for Day xy<LineBreak />- blabla<LineBreak />- blabla<LineBreak />- more blablabla

the application shows exactly that string from the database without new lines..

here the part of the xaml:

<Grid>
  <Grid.ColumnDefinitions>
      <ColumnDefinition Width="100" />
      <ColumnDefinition Width="*" />
  </Grid.ColumnDefinitions>
  <TextBlock Grid.Column="1" Text="{Binding Date, StringFormat={}{0:dd.MM.yyyy}}" Margin="6" />
  <TextBlock Grid.Column="2" Text="{Binding Notes}" Margin="6" />
</Grid>

any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼眸里的那抹悲凉 2024-12-07 06:53:20

我不建议将换行符存储在数据库中,因为跨平台的换行符不会相同。我只是在使用 System.Environment.NewLine 显示之前添加换行符。

I would not recommend storing the line breaks in the database, as line breaks will not be the same across platforms. I would just add the line breaks before displaying using System.Environment.NewLine.

北方的巷 2024-12-07 06:53:20

只需在文本中包含常规换行符,无需花哨的转义序列或 XML 标签:

 string fromDb = ... // get string from DB
 myPropertyWhichIsBoundToWpf = fromDb.Replace("hereShouldBeALinebreak", 
                                              System.Environment.NewLine);

Just include a regular newline character in the text, no fancy escape sequences or XML tags:

 string fromDb = ... // get string from DB
 myPropertyWhichIsBoundToWpf = fromDb.Replace("hereShouldBeALinebreak", 
                                              System.Environment.NewLine);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文