如何为WinRT xaml TextBox前景色使用非SolidColor画笔?

时间:2014-02-23 20:50:19

标签: xaml windows-runtime

我正在尝试设置TextBox样式,以便使用Image画笔渲染文本,但我似乎无法使其工作。

鉴于,以下代码片段,我可以设置要使用纯色画笔渲染的文本。但是,如果我尝试使用任何一个注释掉的画笔(LinearGrad或ImageBrush),它只会呈现为纯黑色文本。

        <TextBox Text="test" Background="{x:Null}" FontSize="64">
            <TextBox.Foreground>
                <SolidColorBrush Color="Plum"/>

                <!--<LinearGradientBrush StartPoint="0 0" EndPoint="1 0">
                    <GradientStop Color="White"/>
                    <GradientStop Color="Black" Offset="1"/>
                </LinearGradientBrush>-->
                <!--<ImageBrush ImageSource="ms-appx:/Assets/Texture.png"/>-->
            </TextBox.Foreground>

        </TextBox>

我可以做同样的事情来设置TextBlock的样式,但它似乎不适用于TextBox。有什么我想念的吗?文档未提及任何限制或例外:MSDN Docs

要明确,这不是WPF问题。我知道这在WPF中有效,这是一个Windows 8应用程序(WinRT)。

1 个答案:

答案 0 :(得分:2)

似乎它可能是基于我的测试的无证件不支持的场景。如果您确实需要这样做 - 您可以创建TextBox的自定义模板,当控件未使用时显示TextBlock并模板绑定TextBlock.Foreground和其他属性到相应的TextBox属性。