【问题标题】:WPF Button backgroundsWPF 按钮背景
【发布时间】:2013-12-02 15:04:30
【问题描述】:

当控件被禁用时,图像后面的背景变成灰色,当我将鼠标悬停在它上面时,我的图像后面的背景也会突出显示。 如何防止这种情况发生?

XMAL

<Button x:Name="btnSubmitCase" Content="Button" Canvas.Left="87" Canvas.Top="326" Background="{x:Null}" Margin="136,409,409,50" BorderThickness="0" Cursor="Hand" Click="btnSubmitCase_Click">
        <Button.Template>
            <ControlTemplate>
                <Button HorizontalAlignment="Center" VerticalAlignment="Center" Background="{x:Null}" BorderBrush="{x:Null}" BorderThickness="0">
                    <Image Source="Resources/CaseButton.png"/>
                </Button>
            </ControlTemplate>
        </Button.Template>
    </Button>

【问题讨论】:

    标签: c# wpf button


    【解决方案1】:

    我不知道你为什么要在 ControlTemplate 中放置一个 Button ,而不是仅仅使用这个 XAML:

    <Button HorizontalAlignment="Center" VerticalAlignment="Center" Background="{x:Null}" 
        BorderBrush="{x:Null}" BorderThickness="0">
        <Image Source="Resources/CaseButton.png" />>
    </Button>
    

    但是,不是您的问题,有一个简单的答案...只是不要将Button 放入ControlTemplate

    <Button x:Name="btnSubmitCase" ...>
        <Button.Template>
            <ControlTemplate>
                <Image Source="Resources/CaseButton.png" />
            </ControlTemplate>
        </Button.Template>
    </Button>
    

    您所描述的行为内置于Button 控件的默认ControlTemplate。要删除它,只需定义您自己的ControlTemplate

    【讨论】:

      【解决方案2】:

      按钮的默认模板包括在按钮悬停、按下或禁用时覆盖外观的触发器。 (如果您在 Blend 中编辑默认主题,则可以检查 Xaml。)

      为了防止这种行为,您需要完全覆盖模板 - 您当前所做的只是用另一个包含图像的按钮覆盖本地按钮的模板。这方面的一个例子是对你已经完成的事情进行简单的调整:

      <Button x:Name="btnSubmitCase" Content="Button" Canvas.Left="87" Canvas.Top="326" Background="{x:Null}" Margin="136,409,409,50" BorderThickness="0" Cursor="Hand" Click="btnSubmitCase_Click">
              <Button.Template>
                  <ControlTemplate>
                      <Image Source="Resources/CaseButton.png"/>
                  </ControlTemplate>
              </Button.Template>
          </Button>
      

      请注意,这将删除按钮的所有边框和其他状态更改行为,基本上只是呈现可点击的图像。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-13
        • 1970-01-01
        • 2016-07-12
        • 2011-03-22
        • 2011-12-07
        • 2013-06-26
        相关资源
        最近更新 更多