最近、WPF が XAML でさまざまな測定単位をサポートしていることを発見しました。デフォルトの DIP に加えて、ピクセル、インチ、センチメートルもサポートされています (私の知る限り)。これにより、デザイナーは次のような XAML を記述できます。
<Canvas>
<Line X1="0cm" X2="3cm" Y1="1cm" Y2="3cm" Stroke="Black"/>
</Canvas>
ただし、これらの値をバインドすることはできません。たとえば、「7cm」などの文字列である Dimension プロパティを持つ ViewModel があるとします。以下は機能しません:
<Button Width="{Binding Dimension}">Test</Button>
FormatException がスローされます。同様に、FrameworkElement
コード ビハインドで を作成する場合は、次のようになります。
Canvas1.Children.Add(new Button() { Width = "3cm", Content = "Test"});
コンストラクター/コントロールを作成しようとする場所で例外がスローされるため、コンパイルは失敗します。
私は疑問に思う:
- コード ビハインドで自然単位 (私の場合はメートル - センチメートル) を使用することは可能ですか?
- どのように?
- WPF/XAML がサポートするユニットの完全なリストはありますか?
編集:
この質問を解決する以下のコメントからのリンクを次に示します。
http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width.aspx