2013-11-05 94 views
1

我正在使用一個內部工具(使用WPF)。一個簡單的形式XAML包含此標記代表一個取消按鈕(格式化調整可讀性):WPF中的完美按鈕

<Button 
    Content="Cancel" 
    Width="85" 
    Height="22" 
    TabIndex="3" 
    HorizontalAlignment="Right" 
    Margin="0,45,8,0" 
    x:Name="cancelButton" 
    VerticalAlignment="Top" 
    IsCancel="True" /> 

我用這個代碼的問題是,它明確地設置WidthHeight和使用MarginHorizontal|VerticalAlignment它的外觀和佈局。通過在單獨的控件上設置這些屬性,它意味着:

  • 按鈕可能會因疏忽而造成不同的樣式。一致的保證金在哪裏?
  • 外觀由應用程序控制,而不是系統設置。如果有更大的系統字體大小呢?按鈕將如何相應調整其自身?

我已經從XAML中刪除了屬性,它已經看起來更好了(XAML,也就是說;按鈕本身在視覺上很醜陋)。代替我爲ResourceDictionary添加了一個常見的按鈕樣式,但它仍然感覺不對,因爲我正在爲我的按鈕硬編碼一個特定的大小和magin。

有什麼辦法告訴我的按鈕使用某種系統定義的度量按鈕,尊重系統設置?

回答

2

我相信Windows用戶界面指南指定了一個75px的標準按鈕寬度,所以我會在您的樣式中設置MinWidth="75"(但不是Width)。

頁邊距應該以每個元素爲基礎設置,相關控件之間爲7px,無關控件之間爲11px,標籤與目標之間爲5px。你不需要設置最後一個,因爲默認情況下,默認情況下,默認情況下,默認的標籤樣式是四邊形。