我正在尝试设置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)。
答案 0 :(得分:2)
似乎它可能是基于我的测试的无证件不支持的场景。如果您确实需要这样做 - 您可以创建TextBox
的自定义模板,当控件未使用时显示TextBlock
并模板绑定TextBlock.Foreground
和其他属性到相应的TextBox
属性。