【问题标题】:Metro UI XAML TextBlock BackgroundMetro UI XAML TextBlock 背景
【发布时间】:2012-07-21 14:12:15
【问题描述】:

我从 C#/WPF 切换到 C#/MetroUI 开发,发现 XAML 有很多不同。例如,在 MetroUI 中,TextBlock 上没有背景属性,或者我太愚蠢而无法使用它。那么如果没有这样的属性,我如何为我的 TextBlock 实现这样的样式呢?

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

【问题讨论】:

    标签: c# xaml windows-8 windows-runtime winrt-xaml


    【解决方案1】:

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

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

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

    从那里进行了比较,因为我正在寻找现在 WinRT 中的 Background 属性。希望这会有所帮助!

    【讨论】:

    • 我必须测试一下。唯一的问题是,如果您使用背景属性,它将仍然是一个大块,这将导致与将 TextBlock 放入蓝色矩形相同的方式。要测试的另一件事是性能,我猜与 TextBlock 相比会更差。
    • 要么这样,要么在你的文本块顶部创建一个装饰器并将不透明度设置为某些东西,这很愚蠢。大声笑
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-06-05
      • 1970-01-01
      • 2019-05-21
      • 2012-01-15
      • 2013-08-30
      • 1970-01-01
      • 2016-12-29
      • 1970-01-01
      • 2011-11-25
      相关资源
      最近更新 更多