1
這裏設置最小值是代碼:我們能一起FrameworkPropertyMetadata默認值
new FrameworkPropertyMetadata((uint) 100,...
我們可以在這裏爲100最大值設置,有沒有一種方法來設置最小值呢?比方說,我希望這個默認值在5到100之間?我看遍了谷歌沒有找到任何答案。任何人都可以請建議一個解決方案。謝謝!
代碼根據裏德·科普塞
public static bool IsValidReading(object value)
{
uint v = (uint)value;
return (!v.Equals(0));
}
的完整代碼嘗試:
public static readonly DependencyProperty Result =
DependencyProperty.Register(
"ResultLimit", typeof(uint), typeof(UI),
new FrameworkPropertyMetadata((uint)10, new PropertyChangedCallback(ResultChanged)), IsValidReading);
更具體地說,'CoerceValueCallback'可能是最好的選擇,因爲它允許訪問依賴項對象,從而允許值範圍是可配置的。 – 2012-08-07 17:10:45
@Reed Copsey - 您可以顯示一些代碼嗎?我嘗試添加(IsValidReading)方法,並讓代碼返回(!v.equals(0))。但這不是我想的方式,因爲它仍然允許用戶輸入0. – NoviceMe 2012-08-07 19:01:06
@NoviceMe:你是否在回調中取消了值?盒裝無符號整數0不認爲等於文字整數0.您必須首先對其進行取消裝箱或將其比較如下:'!v.Equals(0U)'。 – 2012-08-07 20:02:50