當下找到原因是這個應用程式中所有 Button 的 Content 都是放 Image 而不是用預設的樣式,而 Windows 元件在不同版本的作業系統中會有不同的樣式,其中以 Vista 和 Windows 7 的 Aero 特效最明顯。 這裡做個簡單的試驗,在 Windows 8 的環境下開啟 WPF 專案,並且加入一個包含下圖的 Button。
XAML Code
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="200" Width="300">
<StackPanel HorizontalAlignment="Center"
VerticalAlignment="Center">
<Button Padding="0"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<Image Source="SignUp.png" Stretch="None"/>
</Button>
</StackPanel>
</Window>
以下是這個應用程式在 Windows 7 及 Windows 8 的環境下執行的效果,在這裡可以明顯的發現不同版本下的差異,要避免類似的狀況發生,只需要加上 BorderThickness="0" 與 BorderBrush="Transparent" 的設定即可移除預設的邊框效果。
沒有留言:
張貼留言