2

XAML:次の表記法の機能の違いは何ですか?

プロパティに最初のメソッドを使用すべきでない理由はありますか?

<Setter Property="Shape.Stroke" TargetName="circle" Value="#FF3C7FB1"/>

<Setter Property="Shape.Stroke" TargetName="arrow">
  <Setter.Value>
    <SolidColorBrush>#FF222222</SolidColorBrush>
  </Setter.Value>
</Setter>

したがって、評判が十分に高くなった後でタグを追加することを忘れないでください。

タグ:拡張

編集0:私はデフォルトのテンプレートを使用してカスタムコントロールを作成していますが、後者のレイアウトがMicrosoftのやり方であることに気づきました。これは構文解析を促進するためですか、それとも単に慣例によるものですか?

編集1:前者の表記法を使用するとコンバーターが稼働するようになるので、私の質問は次のようになると思います:パフォーマンスの問題ですか?もしそうなら、ベンチマークはありますか?

4

1 に答える 1

3

これらは実際には同等の表記法です。WPFは値コンバーターを暗黙的に使用して指定された文字列を変換するため、最初のものは短くなります。2つ目は、明示的で、柔軟性があり、冗長ですが、XAMLでも定義する複雑な値を設定する必要がある場合に、最適な選択となる可能性があります。

セッターを1秒間に数百万回呼び出す場合を除いて、パフォーマンスの問題になることはありません。

于 2009-12-26T17:04:17.350 に答える