使用以下代碼btn2看起來與btn1和btn3不同,但它們使用完全相同的圖像。爲什麼繼承WPF按鈕會改變工具欄中圖像的外觀
Public Class MyToolBar
Inherits ToolBar
Public Sub New()
MyBase.New()
Dim bmp1 = New BitmapImage(ImageUri.DeleteItem)
Dim bmp2 = New BitmapImage(ImageUri.DeleteItem)
Dim bmp3 = New BitmapImage(ImageUri.DeleteItem)
Dim img1 = New Image With {.Source = bmp1}
Dim img2 = New Image With {.Source = bmp2}
Dim img3 = New Image With {.Source = bmp3}
Dim btn1 = New Button With {.Content = img1}
Dim btn2 = New MyButton With {.Content = img2}
Dim btn3 = New Button With {.Content = img3}
Me.AddChild(btn1)
Me.AddChild(btn2)
Me.AddChild(btn3)
End Sub
End Class
Public Class MyButton
Inherits Button
End Class
代碼的唯一區別是btn2是用MyButton構造的。 MyButton是Button的簡單繼承,沒有其他代碼。
btn1 & btn3按預期顯示;平面。 btn2出現半長,並有一個黑色邊框。
將按鈕添加到工具欄的順序沒有區別。那就是 - btn2的奇怪外觀移動到它被添加到工具欄的位置。
我甩了,並比較了性能,2級,BTN1和BTN2的,並且只有除了預期的差異:
btn1.DependencyObjectType.IsSecurityCritical =假 btn2.DependencyObjectType.IsSecurityCritical =真
和
btn1.DependencyObjectType.IsSecurityTransparent =真 btn2.DependencyObjectType.IsSecurityTransparent =假
還有什麼我應該看看?
您是到那裏的東西。我沒有使用任何樣式,除了這是一個使用http://wpfthemes.codeplex.com/的選項,並且當我應用這些主題時,btn1&btn3適當更改,但btn2保持不變。 因此,我猜測標準的WPF沒有任何暗示的代碼中的按鈕樣式的btn1&btn3。 廢話。 WPF中的另一件事是學習! – 2010-06-22 06:30:10
非常感謝您的幫助。您的樣式對於按鈕是正確的,但由於按鈕是工具欄的一部分,所以正確的樣式是