【问题标题】:Wpf Button Programmatically no effectWpf按钮以编程方式无效
【发布时间】:2018-02-17 06:14:27
【问题描述】:

我有以下代码:

var cellButton = new Button( ) { Background = new SolidColorBrush( 
Colors.Transparent ), BorderThickness = new Thickness( 0 ) };

然后我有一个堆栈面板

var stack = new StackPanel( ) { Orientation = Orientation.Vertical, 
VerticalAlignment= VerticalAlignment.Stretch, HorizontalAlignment= 
HorizontalAlignment.Stretch };

cellButton.Content = stack;

按钮是这里的问题。这似乎完全没有影响,我做错了什么吗? 我仍然可以看到按钮的默认 Boder 和默认背景(灰色)。 我什至尝试将颜色更改为其他颜色,什么都没有。

如您所见,我不得不水平和垂直拉伸堆栈面板以取代按钮背景,这是一个肮脏的解决方案,但我仍然可以看到按钮的边框。

【问题讨论】:

  • 您是否尝试将边框 opacity 设置为 0?
  • 为什么要将按钮的内容设置为空的 StackPanel?
  • 在我的代码中它不是空的,我只是不想发布堆栈面板的所有代码。堆栈窗格的背景是白色的。拉伸堆栈面板会有所帮助
  • 那么你的问题是什么?

标签: wpf button background border


【解决方案1】:

您是否 100% 确定您在屏幕上看到的是由您在此处发布的代码创建的 Button?它不仅是透明的并且没有内容,因为您已将Button.Content 设置为空的StackPanel,而且它还会有Height=autoWidth=auto(默认情况下),所以在这种情况下它将被设置为0.

尝试将您的Button.BackgroundButton.BorderBrush 设置为另一种颜色(例如红色)以测试它是否有效。还将Button.WidthButton.Height 设置为硬编码值,仅用于测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-06
    • 2015-10-03
    • 1970-01-01
    • 2011-08-23
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多