2个问题:
非常感谢
乔
修改(似乎无法回复)
感谢alex,NVM
关于Toggling Transparency,只要我在运行时将Window的'Background'属性从颜色设置为'Transparent',就可以了。
关于切换样式,只需扩展你的代码alex,大概我可以做类似
的事情void OnButtonPress()
{
var transparentStyle = Themes.CurrentTheme.MyDGNonTransparentStyle;
var nonTransparentStyle = Themes.CurrentTheme.MyDGNonTransparentStyle;
if (isTransparent) // Change to Non-Transparent
this.MyGrid.Style = (Style)this.FindResource(nonTransparentStyle);
else // Change to Transparent
this.MyGrid.Style = (Style)this.FindResource(nonTransparentStyle);
}
由于
乔
第3次修改
谢谢你们,
很抱歉让您感到困惑 - 我的第二个问题是因为我的数据网格有自己的风格(并且不从窗口继承)我需要根据当前状态(透明/非透明)设置其样式 - 所以我需要在运行时更改数据网格样式 - 现在因为这可以通过窗口完成,我可以假设它可以使用数据网格完成吗?
由于
乔
答案 0 :(得分:2)
是否可以在WPF窗口上切换透明度?
是的,它是:
<Window WindowStyle="None"
AllowsTransparency="True"
Background="#88aa3366">
</Window/>
坏消息是你必须自己实现窗口标题的逻辑。 This article可能会有所帮助。
我可以在后面的xaml代码中切换样式吗?
这个问题有点不清楚,也许这会有所帮助:
var key = Themes.CurrentTheme.MyDGStyle;
this.MyGrid.Style = (Style)this.FindResource(key);