Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 禁用文本块上的不透明度遮罩_C#_Wpf_Silverlight_Windows Phone - Fatal编程技术网

C# 禁用文本块上的不透明度遮罩

C# 禁用文本块上的不透明度遮罩,c#,wpf,silverlight,windows-phone,C#,Wpf,Silverlight,Windows Phone,我正在尝试为WP7创建一个自定义删除线(因为它不支持SL4/WPF删除线) 为此,我创建了一个2倍高的矩形,并将其放置在距底部33%的位置(默认为Segeo WP字体删除线) 然而,这是一个相当奇怪的问题,它看起来像一个不透明遮罩 删除线是在文本块上做一些掩蔽,这是非常有意的。所以我想知道如何解决这个问题 XAML的代码片段: <TextBlock x:Name="ContentContainer" Text="{TemplateBinding Content}"

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

为此,我创建了一个2倍高的矩形,并将其放置在距底部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},但遗憾的是,这根本没有效果。

我不确定这是否是一个OpacityMask问题-相反,我认为这是两组
PhoneDisabledColor
笔刷组合在一起的结果

从参考资料中可以看出,
PhoneDisabledColor
的不透明度为40%白色

 <Color x:Key="PhoneDisabledColor">#66FFFFFF</Color>
#66FFFFFF
因此,当您将两个具有此不透明度的对象放置在彼此的顶部时,您将获得您所看到的绘图效果-不透明度大于40%的部分

这里列出了删除线的解决方案-

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



通过

发现,我尝试了非手机颜色,这确实是因为手机颜色具有透明度。另一方面,您使用UserControls链接中的解决方案对于WP7来说是一个非常糟糕的解决方案,因为UserControls的性能非常糟糕,因为它们无法虚拟化。但是,为抬头的人干杯。