1

我是注定要为某些 WPF 控件提供设计时支持的可怜人之一。在 VS 2010 和 VS 2012 之间,出现了一个属性(更像是从 Blend 迁移而来的),它允许您为属性指定一系列有效值。

NumberRangesAttribute还没有很好地记录。对于包含范围,设置硬最小值/最大值就可以了。但是今天我遇到了一个排他范围,其中值必须大于零,通常小于 1,但不一定非要如此。所以我的第一次尝试是将最小值设置为 double.Epsilon,将最大值设置为 double.MaxValue。这并没有阻止设计师愉快地接受 0,然后因为无效值而导致问题。

所以开始了一个很长很长的尝试随机值的过程,直到我确定了一个硬最小值 1e-15 和一个软最小值 1。如果我选​​择一个硬最小值或软最小值任何更小的,0 是允许的,并且会发生坏事。1e-15 对我的目的来说绝对足够小,但我不喜欢我强行使用它。我想理解它,而不是留下一个黑客。

那么谁能向我解释这些参数可能会做什么?我也很想知道 canBeAuto 的作用,因为它对我来说也毫无意义。这里的“可以自动设置”是什么意思?用户设置的是一个值,而不是一个范围。

4

0 回答 0