私は、いくつかの WPF コントロールの設計時サポートに取り組むことを余儀なくされた貧しい魂の 1 人です。VS 2010 と VS 2012 の間で、プロパティの有効な値の範囲を指定できる属性が (Blend から移行されたように) 表示されました。
NumberRangesAttributeはまだ十分に文書化されていません。包括的な範囲の場合、ハードの最小値/最大値を設定すると問題なく機能します。しかし今日、値が 0 より大きくなければならず、通常は 1 未満であるが、そうである必要はないという排他的な範囲に直面しました。したがって、私の最初の試みは、両方の最小値を double.Epsilon に設定し、最大値を double.MaxValue に設定することでした。それでも、デザイナーは喜んで 0 を受け入れることをやめませんでした。
そこで、1e-15 のハード最小値と 1 のソフト最小値に落ち着くまで、ランダムな値を試す長い長いセッションを開始しました。ハード最小値またはソフト最小値をこれよりも小さく選択すると、0 が許可され、悪いことが起こります。1e-15 は間違いなく私の目的には十分小さいですが、私は力ずくでそこにたどり着くのが好きではありません。ハックを置き去りにするのではなく、それを理解したいのです。
では、これらのパラメーターが何をする可能性があるかを誰かに説明してもらえますか? また、canBeAuto が何をするのか知りたいです。私には意味がありません。ここで「自動設定できる」とはどういう意味ですか?範囲ではなく、ユーザーが設定した値。