1

我正在尝试为 WP7 创建自定义删除线(因为它不支持 SL4/WPF 删除线)。

我通过创建一个 2px 高的矩形并将其放置在距底部 33% 的位置(作为 Segeo WP 字体删除线的默认设置)来完成此操作。

但是,对于看起来像不透明蒙版的东西,这是一个相当奇怪的问题。

删除线正在对文本块进行一些屏蔽,这是非常有意的。因此,我正在寻找有关如何解决此问题的任何想法。

XAML 的片段:

<TextBlock x:Name="ContentContainer"
           Text="{TemplateBinding Content}"
           Grid.Column="0"
           Foreground="{TemplateBinding Foreground}"
           HorizontalAlignment="Left"
           Margin="0,0,0,0"
           OpacityMask="{x:Null}"
           Padding="{TemplateBinding Padding}"
           FontSize="{StaticResource PhoneFontSizeLarge}" />

<Rectangle x:Name="CheckBorder"
           Fill="{StaticResource PhoneDisabledBrush}"
           Margin="0,26,0,15"
           OpacityMask="{x:Null}"
           Width="{Binding Width, ElementName=ContentContainer}"
           Height="2"/>

如您所见,我尝试将 OpacityMask 设置为 {x:Null},但是,这根本没有效果。

4

1 回答 1

2

我不确定这是一个 OpacityMask 问题 - 相反,我认为它是两组PhoneDisabledColor刷子组合在一起。

从资源来看,它看起来PhoneDisabledColor是 40% 不透明度的白色

 <Color x:Key="PhoneDisabledColor">#66FFFFFF</Color>

因此,当您将具有此不透明度的两个对象彼此叠放时,您将获得您所看到的绘图效果 - 不透明度高于 40% 的部分。

这里列出了删除线的解决方案 - http://forums.silverlight.net/forums/t/19749.aspx

编辑/更新 - 在查看了该解决方案后,我认为它可能会显示您所看到的相同问题。


通过Windows phone 7 中的删除线文本找到

于 2011-04-02T23:09:37.673 回答