2012-07-21 55 views
1

我从C#/ WPF切换到C#/ MetroUI开发,并意识到XAML有很多不同之处。例如,在MetroUI中,TextBlock上没有背景属性,或者我太愚蠢,无法使用它。那么,如果没有这样的属性,我怎么会为我的TextBlock实现这样的风格呢?Metro UI XAML TextBlock背景

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

enter image description here

回答

0

我认为你将不得不打了一下有把的TextBlocks一个边界内或将填充的矩形的的TextBlocks后面 - 在完成后搞清楚把换行符的堆栈的TextBlocks。像Silverlight一样的WinRT XAML具有相当有限的API来自动帮助你进行这种高级格式化。

1

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

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

更多信息在实际的文件中发现:TextBlock ClassTextBox Class

制造从那里,因为我一直在寻找哪里是背景属性现在在WinRT中的比较。希望这可以帮助!

+0

我必须测试一下。唯一的问题是如果你使用背景属性,它将会像一个TextBlock放入一个蓝色的矩形一样,仍然是一个大块。 另一件要测试的是我认为与TextBlock相比更差的性能。 – 2012-08-04 11:50:53

+0

要么或者在你的文本块的顶部创建一个装饰者,并将不透明度设置为...愚蠢的东西。大声笑 – 2012-08-05 05:10:32