お世話になります.
WPFを始めたばかりの初心者です
(HTMLはそこそこ触ったことがありますが)
最近,XAMLを直に触ることが増えてきてふと気になったことがあります.
ウインドウにコントロールを配置していく際,
多くの場合VerticalAlignment
,HorizontalAlignment
,Width
,Height
等の属性(プロパティ?正式名を教えてください)を記述していきますが,要素ごとに順番がばらばらだと目が泳いでしまいます.
かといってそろえようにも,デザイナを使ったりすると順番を気にしてくれない(適用した順?)ので整列させるのも少々労力がかかります.
そこで伺いたいのですが
①皆様は属性の順番を要素間で揃えますか?
最初はWidth,次にHeight,次に…という風に.
②属性の順番をそろえるとき,順番を自分の中のルールで決めていますか?
(①にも関連しますが,同じGroupBox内では順番をそろえる,等でも見やすくなりますが,すべてのコントロールについて順番をそろえますか?という意味です.)
③属性の順番のみならず,位置(Tab等で)も揃えますか?
以上よろしくお願いいたします.
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
プロパティ?正式名を教えてください
依存関係プロパティ、依存プロパティまたは単にプロパティでOKです。
構文上は属性ですが、属性は別物を指す場合が多いので混乱を避けるために私は属性とは呼びません。
①皆様は属性の順番を要素間で揃えますか?
気が向いたら揃える程度で、原則気にしません。
②属性の順番をそろえるとき,順番を自分の中のルールで決めていますか?
レイアウトに関わるものを先に書くぐらいです。その中でGrid.Row="1"などの添付プロパティは優先的に書いてます。
またレイアウトに関わるものは、極力Styleとしてまとめて書いてます。
③属性の順番のみならず,位置(Tab等で)も揃えますか?
はい、なるべく綺麗になるように気を付けてます。
投稿2017/08/12 05:00
編集2017/08/12 09:47総合スコア4150
0
ベストアンサー
①皆様は属性の順番を要素間で揃えますか?
②属性の順番をそろえるとき,順番を自分の中のルールで決めていますか?
プログラムの変数定義等も一緒なのですが、意味合い的なグループでまとめて記述しています。
d:DesignWidth="1024" d:DesignHeight="768" Width="1024" Height="768" WindowState="{Binding WindowState}" WindowStartupLocation="CenterScreen"
例えば、手元で開いていたコードだと、上記のようになっていました。
グループの順番的にはその時の追加順だったり、
変更される可能性の高いものが後ろにきたりしています。
また、メンテナンス性から見える範囲での順序はある程度揃えています。
同じように要素を追加する場合は同じような属性の順番の方が視認性が良いため。
③属性の順番のみならず,位置(Tab等で)も揃えますか?
上記のように大雑把に揃えています。
Width、Heightは基本セットなのと、短いので1行に書いています。
プログラムを後から読む(見る)場合に、実際には細かく読んでいるのではなく、
大きな塊として見て判断することが多いため、自然とそのような見方に沿った書き方をしている感じです。
コーディング規則は宗教論争になりがちなので自分なりの納得いく説明ができる書き方があれば良いと思います。
投稿2017/08/11 23:54
総合スコア385
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
「XAML Styler」拡張機能を使用してください。
Home · Xavalon/XamlStyler Wiki
C#コードもそうですが、手作業で並び替える等はナンセンスです。
自動フォーマットで常に一貫した書式にそろえましょう。
デフォルト設定は行数が増えがちですが、設定は豊富なので大抵の好みに対応できると思います。
わたしは↓だけ変えています。
Enable markup extension formatting:False
投稿2023/11/17 10:15
総合スコア9309
0
①皆様は属性の順番を要素間で揃えますか?
②属性の順番をそろえるとき,順番を自分の中のルールで決めていますか?
nameやGrid.Rowなどあとで見て優先的に確認したい属性はなるべく前に設定するようにしています。
Gridなどは行ごと列ごとに確認したいことが多いので下記のように1行で記述するようにしています。
XAML
1<TextBox Grid.Row="1" Grid.Column="1" Name="AddressTextBox"/> 2<TextBox Grid.Row="2" Grid.Column="0" Text="建物名"/>
属性の数が多くどうしても改行しないと見にくい場合は下記のようにしています。
XAML
1<TextBox 2 Grid.Row="1" 3 Grid.Column="1" 4 Name="AddressTextBox"/> 5<TextBox 6 Grid.Row="2" 7 Grid.Column="0" 8 Text="建物名"/>
③属性の順番のみならず,位置(Tab等で)も揃えますか?
必ずTabで揃えています。
投稿2017/08/14 02:25
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/20 14:47
退会済みユーザー
2017/08/21 01:45
2017/08/22 13:39
0
①皆様は属性の順番を要素間で揃えますか?
デザイナを使わない(XAMLはほぼ手書き)ので、そのコントロールに対する重視度(?)が高いものが自然に優先されている(前に来ている)ことが多い
②属性の順番をそろえるとき,順番を自分の中のルールで決めていますか?
このコントロールにはこれとこれを書かなきゃならないっていうのが決まっているので、だいたいそれを書くとだいたい揃いますね
③属性の順番のみならず,位置(Tab等で)も揃えますか?
これはVisualStudioにおまかせしています
最近あまりありませんがVisualStudioの機嫌が悪いとせっかく揃えたものがめちゃくちゃにされてしまうことがありましたねぇ
全く参考にならない気もしますが..
投稿2017/08/12 12:53
総合スコア3939
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/20 14:45