如何在 GTK# 中禁用 TextView 的透明度?
How to DISABLE transparency for TextView in GTK#?
我正在制作一个 GTK# 应用程序,我在使用 TextView(或者可能是 ScrolledWindow,真的说不出来)时有一些奇怪的行为:
它基本上是复制它后面的任何东西并将其用作背景,而背景应该是纯色。当我切换标签时,它甚至会显示之前选择的标签中的内容。
如何解决此问题?
嗯,我不喜欢我必须这样做,但它有效:
// Fix the weird display bug
drawnHandler = new DrawnHandler((o, args) =>
{
this.Drawn -= drawnHandler;
var color = ConsoleBox.StyleContext.GetBackgroundColor(StateFlags.Normal);
ConsoleBox.OverrideBackgroundColor(StateFlags.Normal, new Gdk.RGBA()
{
Red = color.Red,
Green = color.Green,
Blue = color.Blue,
Alpha = 1
});
});
this.Drawn += drawnHandler;
这会获得正确的背景颜色并将其设置为不带 alpha(我什至不确定一开始是如何设置 alpha 的,因为我从未在代码中的任何地方更改过背景颜色)。
我正在制作一个 GTK# 应用程序,我在使用 TextView(或者可能是 ScrolledWindow,真的说不出来)时有一些奇怪的行为:
它基本上是复制它后面的任何东西并将其用作背景,而背景应该是纯色。当我切换标签时,它甚至会显示之前选择的标签中的内容。
如何解决此问题?
嗯,我不喜欢我必须这样做,但它有效:
// Fix the weird display bug
drawnHandler = new DrawnHandler((o, args) =>
{
this.Drawn -= drawnHandler;
var color = ConsoleBox.StyleContext.GetBackgroundColor(StateFlags.Normal);
ConsoleBox.OverrideBackgroundColor(StateFlags.Normal, new Gdk.RGBA()
{
Red = color.Red,
Green = color.Green,
Blue = color.Blue,
Alpha = 1
});
});
this.Drawn += drawnHandler;
这会获得正确的背景颜色并将其设置为不带 alpha(我什至不确定一开始是如何设置 alpha 的,因为我从未在代码中的任何地方更改过背景颜色)。