1

我从 C#/WPF 切换到 C#/MetroUI 开发,并意识到 XAML 中存在许多差异。例如,在 MetroUI 中,TextBlock 上没有背景属性,或者我太愚蠢而无法使用它。那么,如果没有这样的属性,我将如何为我的 TextBlock 实现这样的风格呢?

我想在蓝色背景上有白色文本,但背景必须跟随段落。是否有类似 ItemTemplate for TextBlocks 或类似控件来实现这种情况?

在此处输入图像描述

4

2 回答 2

1

他们真的必须是文本块吗?我搜索了 Windows.UI.Xaml 的文档,似乎背景属性仅适用于从 Control 类继承的对象。Textblock 继承自 FrameworkElement。

如果我是你,我会修改 TextBox 样式并使它看起来像一个文本块,因为你已经有 WPF 经验,我假设这对你来说应该相对容易设置样式和实现该行为。

更多信息可在实际文档中找到:TextBlock ClassTextBox Class

从那里进行了比较,因为我正在查看 WinRT 中的 Background 属性现在在哪里。希望这可以帮助!

于 2012-08-03T21:32:47.780 回答
0

我认为您必须在将 TextBlocks 放在 Border 内或将填充的 Rectangles 放在 TextBlocks 后面进行一些操作 - 在您确定在 TextBlocks 堆栈中放置换行符的位置之后。像 Silverlight 这样的 WinRT XAML 具有相当有限的 API 来帮助您自动进行此类高级格式化。

于 2012-07-21T21:08:51.363 回答