web-dev-qa-db-ja.com

WPFのUserControlのDesignWidthとWidthの違い

WPFで新しいUserControlを作成すると、スタジオはいくつかのXAMLを作成します。

<UserControl x:Class="MOG.Objects.Date.Calender"
             xmlns="http://schemas.Microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.Microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">

    <Grid>

    </Grid>
</UserControl>

UserContolには、Widthプロパティも追加できます。 DesignWidthWidthの違いは何ですか?

27
mohammad

d:DesignHeightおよびd.DesignWidthは、デザイナー(WYSIWYG)、Visual StudioまたはExpression Blend用です。 HeightおよびWidthは実際にはランタイム用です。

66
Rhyous

プロパティd:DesignHeightおよびd:DesignWidth="300"が使用されるのは、( Source ):

  • UserControlsは、親ビューに埋め込まれていません。 WidthおよびHeightは設定されていません。

  • ルート要素のコンストラクターは呼び出されません。ルート要素はデザイナーによって置き換えられます。 ViewModelは作成されません。

  • コントロールの動作は異なります。マウスおよびキーボードイベントはありません。ロードされた設計時拡張機能

設計エクスペリエンスを改善するために、Microsoftは任意のWPF要素に追加できる特別な設計時属性を提供し、設計ツールのヒントとして機能します。

接頭辞d:で使用されるものはすべてモードの設計に使用され、これらには次のようなプロパティが含まれます。

d:DesignWidth

d:DesignHeight

d:LayoutOverrides

20