WPF如何设置背景颜色

WPF如何设置背景颜色,第1张

ImageBrush br = new ImageBrush()

br.ImageSource = new BitmapImage(new Uri(@"F:\Study\\WpfApplication2\WpfApplication2\Repeat2(1).png", UriKind.Absolute))

this.Background = br

这样就好了

你那个 圆形按钮 又不需要点击,只是作为一个 状态来显示, 写个按钮干什么。放个Border或者Elispe 不好嘛。点击打开串口之后 改变border的Background 或者Elispe的Fill 不就可以改变颜色了。

最近看到你问题不少,看得出在积极学习,但懒得回答,因为问题却描述不清,也不贴代码。

所有问题的答案,在网络上都可以找到。

这个问题如果处理?依据自己的开发经验提供一些实现方法。

1、控件模板的定义

假定你的控件模板如下定义

<ControlTemplate TargetType="{x:Type Button}">

<Border x:Name="border" Background="{TemplateBinding Background}"

<ContentPresenter x:Name="contentPresenter" />

</Border>

<ControlTemplate.Triggers>

<Trigger Property="IsPressed" Value="True">

<Setter Property="Background" TargetName="border" Value="Green"/>

</Trigger>

</ControlTemplate.Triggers>

</ControlTemplate>

这里是一个Button的Template,这里有个Border就是描述按钮的显示区域,你说的控件背景通过Border的Background可以实现。

1、可以直接设定不变值,比如:Backgorund="Gray"

2、通过TemplateBinding绑定到Background上,这个Background可以看做控件全局变量,Button在Xaml中使用时赋予值,如下Button用到上述Template:

<Button x:Name="idBtnTest" Background="Blue" >

<Button.Template>

<!--上述Template-->

</Button.Template>

</Button>

Button的Background因为在Template中绑定到了Border上,Border的背景色也是Blue。

只要在代码中通过idBtnTest.Background = Brushs.Red这样的方式就可以动态修改Button的背景色。

3、通过Trigger修改背景色,具体用法看上例(也可以通过VisualStateManager)。

4、可以通过DataTrigger,具体自己搜索关键字学习。

根据问题,做个小总结,并不全面,希望对此问有所帮助。


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

原文地址: http://outofmemory.cn/tougao/7736288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存