WPF透明文本与不透明背景

我需要使用WPF / XAML的透明文本和不透明的背景。 那可能吗?

这是一个例子,但我不使用css: css,透明文本和不透明背景

也许有一种方式可以使用c#生成带有不透明背景的透明文本?

背景应该是一个Image,我用Canvas尝试过:

     

您可以使用SolidColorBrush上的Opacity属性进行设置。 它取值从0到1.其中0表示完全透明, 1完全不透明。 但是,如果您将文本设置为透明,那么您将看到的是文本框的背景。 在示例中,我设置了部分不透明度,因此您可以看到文本是灰色的。

      

获取透明度并在文本块下方查看控件背景的其他方法是设置透明前景和部分透明背景。

您可以通过将文本转换为Path然后使用该Path在白色Rectangle进行Clipping来实现此目的。

试试这个:

         

c#代码

 private void textToMask_TextChanged(object sender, TextChangedEventArgs e) { Typeface face = new Typeface("Candara"); FormattedText tx = new FormattedText(textToMask.Text, Thread.CurrentThread.CurrentUICulture, FlowDirection.LeftToRight, face, 70, Brushes.Black); Geometry textGeom = tx.BuildGeometry(new Point(0, 0)); Rect boundingRect = new Rect(new Point(-100000, -100000), new Point(100000, 100000)); RectangleGeometry boundingGeom = new RectangleGeometry(boundingRect); GeometryGroup group = new GeometryGroup(); group.Children.Add(boundingGeom); group.Children.Add(textGeom); target.Clip = group; }