c#编程wpf按钮边框带有白边!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#编程wpf按钮边框带有白边!相关的知识,希望对你有一定的参考价值。

自定义了一个按钮,背景和边框的颜色都设置成黑色,可是为什么中间还有一层东西是白色的呢??

放大以后

除了重新定义模板以外谁还有更好的办法吗?

参考技术A 没有
按钮默认的样式上时候渐变色的, 还有鼠标响应的样式改变, 如果你要全部改掉,只能重新定义style本回答被提问者采纳
参考技术B 让你真正体会到什
么是宽广和无笔程序本垠。此时,你没有了忧愁,
没有了烦恼,更没有了怨恨,
有的全是激动、兴奋
参考技术C 设置按钮Style属性:

Style="StaticResource x:Static ToolBar.ButtonStyleKey"

以编程方式使用 C# 更改网格面板边框颜色 - WPF

【中文标题】以编程方式使用 C# 更改网格面板边框颜色 - WPF【英文标题】:Change Grid Panel Border color Using C# programatically- WPF 【发布时间】:2015-07-17 15:25:41 【问题描述】:

我有网格面板,当我们点击按钮时,我想改变它的边框颜色

<Grid Grid.Row="3"  Name="LocationLayoutPanel" VerticalAlignment="Top"  
 Margin="0,51,0,0" Height="65" ShowGridLines="True">

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"   />
            <ColumnDefinition Width="9*" />
            <ColumnDefinition Width="2*" />
        </Grid.ColumnDefinitions >

 <Border BorderThickness="2,2,2,2" BorderBrush="Red" Grid.ColumnSpan="3"  
   Grid.RowSpan="2"/>

    <Button Content="change border color" Grid.Row="1" Grid.Column="1" 
    Click="chnageBGCOLOR"></Button>
</Grid>

当我点击“更改边框颜色”按钮时,它的网格边框颜色应该会改变!

谢谢!

【问题讨论】:

【参考方案1】:

XAML:

      <Border BorderThickness="2,2,2,2" Grid.ColumnSpan="3"  
   Grid.RowSpan="2">
            <Border.Style>
                <Style TargetType="Border">
                    <Setter Property="BorderBrush" Value="Red"/>
                    <Style.Triggers>
                        <DataTrigger Binding="Binding ElementName=Button, Path=IsPressed" Value="True">
                            <DataTrigger.EnterActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <ColorAnimation Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)"
                                                        To="GreenYellow"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </DataTrigger.EnterActions>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Border.Style>
        </Border>
        <Button Name="Button" Content="change boarder color" Grid.Row="1" Grid.Column="1"></Button>

以编程方式: 将Name添加到Border并设置如下:

BorderName.BorderBrush = new SolidColorBrush(Colors.GreenYellow);

【讨论】:

以上是关于c#编程wpf按钮边框带有白边!的主要内容,如果未能解决你的问题,请参考以下文章

VS C#编程 是WPF程序 如何改变ellipse控件的填充颜色 要在按下按钮1时为红色,按下按钮2变为绿色 求助?

C# wpf编程CM框架快速入门项目实例

我可以以编程方式将元素添加到 XAML 吗? WPF c# [关闭]

以编程方式设置 WPF 背景不透明度

C# WPF 数据触发器

C#中,当鼠标移动到按钮上时,按钮边框闪烁,鼠标移开时恢复正常,急急急