访问文本块的背景颜色

mic*_*ver 17 xaml windows-runtime winrt-xaml windows-store-apps

我在MSDN上找到了这个示例,它显示了一些配置文本块的方法:

很多它似乎对我有用,但这部分失败了:

textBlock.Background = Brushes.AntiqueWhite;
Run Code Online (Sandbox Code Playgroud)

"背景"部分用红色标出,Visual Studio说:"Windows.UI.Xaml.Controls.TextBlock不包含Background的定义".

我很困惑.

这是最近的变化吗?或者这是否会在以后删除?

Chr*_* W. 34

如果我记得正确的WinRT基于Silverlight,而在WPF中TextBlock派生FrameworkElement而不同,它没有自己的Background属性.

一个解决方法是提供相同的效果,使用一个额外的元素作为容器,并提供您的背景使用BorderGridBackground等等.

<Border Background="AntiqueWhite">
  <TextBlock/>
</Border>
Run Code Online (Sandbox Code Playgroud)

或许,Rectangle背后TextBlock提供同样的事情,如果它包含在说,也许一个Grid小区或喜欢,除非你想上设置大小Rectangle直接;

<Rectangle Fill="AntiqueWhite"/>
<TextBlock/>
Run Code Online (Sandbox Code Playgroud)

不幸的是,我认为这是您目前唯一的选择.希望这可以帮助.