wpf – XAML编辑器的黑色背景

wpf – XAML编辑器的黑色背景,第1张

概述我目前正在使用具有白色文本和透明背景的用户控件.不幸的是,由于VS2010中的XAML设计视图具有白色背景,所以我无法看到我正在设计的任何内容! 我已经通过了我可以想到的所有设置对话框,但是一直无法找到改变XAML设计器背景颜色的设置. 有人知道如何做到这一点吗? 在您的XAML中,将背景设置为黑色.然后在用户控件中,使用DesignerProperties在运行时设置背景: XAML <User 我目前正在使用具有白色文本和透明背景的用户控件.不幸的是,由于VS2010中的XAML设计视图具有白色背景,所以我无法看到我正在设计的任何内容!

我已经通过了我可以想到的所有设置对话框,但是一直无法找到改变XAML设计器背景颜色的设置.

有人知道如何做到这一点吗?

解决方法 在您的XAML中,将背景设置为黑色.然后在用户控件中,使用DesignerPropertIEs在运行时设置背景:

XAML

<UserControl .... Background="Black" .... >

代码背后

public YourUserControl(){  InitializeComponent();  if( !System.ComponentModel.DesignerPropertIEs.GetIsInDesignmode( this ) )  {    this.Background = Brushes.transparent;  }}

替代方法

用户控件:

在用户控件中,不要声明背景颜色:

<UserControl ... namespaces ...>

UserControl代码背后:

在用户控件的构造函数中,使用如上所述的DesignTime方法,但是检查它是否是设计模式(与其他方法相反的检查):

public YourUserControl(){  InitializeComponent();  if( System.ComponentModel.DesignerPropertIEs.GetIsInDesignmode( this ) )  {    this.Background = Brushes.Black;  }}

App.xaml中:

最后,在App.xaml中,添加一个样式来设置UserControls的背景颜色:

<Application.Resources>  <Style targettype="{x:Type UserControl}">    <Setter Property="Background" Value="Black" />  </Style></Application.Resources>

发生了什么:

> App.xaml将在设计时影响UserControl,因为类型化样式会自动应用于对象,但不适用于派生对象(在这种情况下为UserControl).所以,在设计时,VS认为应该应用风格,但是在运行时它会被忽略.
> GetIsInDesignmode检查将在使用UserControl的窗口中查看控件时影响UserControl,因为VS正在设计时编译UserControl,以便在Visual Designer中呈现它.

HTH的

总结

以上是内存溢出为你收集整理的wpf – XAML编辑器的黑色背景全部内容,希望文章能够帮你解决wpf – XAML编辑器的黑色背景所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1003553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存