1

内部ツール (WPF を使用) を使用しています。単純なフォームの XAML には、[キャンセル] ボタンを表す次のマークアップが含まれています (読みやすいように書式設定が調整されています)。

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

このコードに関する私の問題は、明示的に を設定しWidth、外観とレイアウトにとHeightを使用していることです。これらのプロパティを個々のコントロールに設定すると、次のことを意味します。MarginHorizontal|VerticalAlignment

  • ボタンのスタイルが誤って異なる可能性があります。一貫したマージンはどこにありますか?
  • 外観は、システム設定ではなく、アプリケーションによって制御されます。システム フォント サイズが大きい場合はどうなりますか? ボタンはそれに応じてどのようにサイズ変更されますか?

XAML から属性を削除したところ、見栄えが良くなりました (XAML、つまり、ボタン自体が視覚的に醜いです)。代わりに、一般的なボタン スタイルを に追加しましたがResourceDictionary、ボタンの特定のサイズとサイズをハードコーディングしているため、まだ間違っているように感じます。

システム設定を尊重するシステム定義のメトリックをボタンに使用するようにボタンに指示する方法はありますか?

4

1 に答える 1

2

Windows UI ガイドラインでは標準のボタン幅 75px が指定されていると思いますのでMinWidth="75"、あなたのスタイルで設定します (しかし ではありませんWidth)。

余白は要素ごとに設定する必要があります。関連するコントロール間は 7 ピクセル、関連のないコントロール間は 11 ピクセル、ラベルとそのターゲット間は 5 ピクセルです。デフォルトのラベルスタイルにはデフォルトですべての側面に5pxのパディングがあると思うので、最後のものを設定する必要はありません。

于 2013-11-05T01:53:10.707 に答える