我有一些背景顏色的按鈕,但是當我將此按鈕設置爲禁用時,它看起來像一個空的文本框。爲什麼這樣並且能否解決。當在WPF中禁用時,按鈕的行爲(視覺上)爲文本框
-2
A
回答
1
您是否考慮過爲按鈕定義自己的模板?這是一個例子。
請參閱'觸發屬性= IsEnabled ...'部分。在這裏,您可以根據需要爲禁用的按鈕定義外觀。我建議玩所有的價值觀,並根據您的需求定義它。
<Style TargetType="Button">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="BorderBrush" Value="LightGray"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="bord"
CornerRadius="5"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
TextElement.Foreground="{TemplateBinding Foreground}"
TextElement.FontWeight="{TemplateBinding FontWeight}">
<Border.Background>
<LinearGradientBrush StartPoint="0 0" EndPoint="0 1">
<GradientStop Color="Gray" Offset="0"/>
<GradientStop Color="DarkGray" Offset="0.5"/>
<GradientStop Color="Black" Offset="0.5"/>
</LinearGradientBrush>
</Border.Background>
<ContentPresenter Content="{TemplateBinding Content}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="bord">
<Setter.Value>
<LinearGradientBrush StartPoint="0 0" EndPoint="0 1">
<GradientStop Color="Gray" Offset="0"/>
<GradientStop Color="DarkGray" Offset="0.5"/>
<GradientStop Color="Black" Offset="0.5"/>
<GradientStop Color="Black" Offset="0.7"/>
<GradientStop Color="LightBlue" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="BorderThickness" TargetName="bord" Value="2"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" TargetName="bord" Value="Peru"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
相關問題
- 1. WPF - 如何在文本框的文本長度爲僅在XAML中爲6時啓用禁用按鈕
- 2. 如何在文本框爲空時禁用按鈕
- 3. 當按下按鈕時,文本框會聚焦在按鈕上?
- 4. 當文本視圖爲空時,該按鈕將被禁用,否則啓用
- 5. 當textfields爲空時禁用按鈕
- 6. 當按下按鈕時禁用iOS的行爲:懸停狀態
- 7. 列表框爲空時禁用按鈕
- 8. 文本菜單爲禁用的按鈕
- 9. 當某個按鈕被點擊時啓用/禁用文本框
- 10. Vaadin:強制按鈕被視覺禁用
- 11. 試圖啓用一個禁用的按鈕,當一個文本框不爲空
- 12. WPF按鈕按下視覺狀態,在按鈕失去焦點後保持視覺狀態「正在運行」
- 13. 爲按鈕和文本框
- 14. WPF中的禁用按鈕
- 15. 禁用WPF文本框中的覆蓋模式(當按下插入鍵時)
- 16. 當在文本框中正確輸入文本並在c中添加對話框時禁用按鈕#
- 17. 當網格爲空時,在JQGrid中禁用NavGrid按鈕
- 18. 禁用按鈕,每當文本字段爲空動態
- 19. 禁用按鈕時,在輸入文本
- 20. 如何禁用按鈕如果文本框爲空
- 21. 禁用按鈕,如果選中複選框,但相應的文本框爲空
- 22. 當點擊按鈕時,停止密碼文本框爲空?
- 23. 當第一行文本框爲空時禁止vbNewLine
- 24. 嘗試禁用輸入文本字段爲空時的按鈕
- 25. 禁用兩個文本字段爲空時的按鈕
- 26. 禁用只讀文本框onclicking按鈕
- 27. 如何在點擊時禁用WPF按鈕的邊框?
- 28. 當使用imeOption = actionSend時,禁用發送按鈕當EditText爲空
- 29. 如何在單擊按鈕時啓用/禁用文本框
- 30. 將文本框文本設置爲按鈕單擊的當前時間
它不足以回答你的問題,發佈一些代碼部分和按鈕 –
<按鈕點擊=「Button_Click」 Grid.Column =「1」高度的畫面=「20」保證金=「0,159,98,132 「Background =」blue「IsEnabled =」False「> – Vikram
也許字體的顏色與背景色相同? –