2012-11-16 194 views
2

我的工作很簡單ultraoptionset其中包括在設計時創建了兩個項目(串)之前不會更改數據源。 optionset值通過綁定源綁定到viewmodel中的字符串屬性。數據源更新模式設置爲OnPropertyChanged。

的問題是,整個optionset在視圖失去焦點之前不會被更新的視圖模型。所以,如果我來回換兩個值之間時,性能並沒有得到改變,因此控制的驗證將無法正常工作(因爲沒有更新的數據)。

我覺得自己很愚蠢的,因爲這應該是超級簡單。我究竟做錯了什麼? :dUltraoptionset失去焦點

喝彩!

回答

0

我用NetAdvantage 2012第2卷測試了這一點,發現當更改通過UI選擇的選項時,我有UltraOptionSet綁定到的對象中屬性的setter會更新屬性更改。這是我使用的代碼:

public partial class Form1 : Form 
{ 
    TestObject to; 
    public Form1() 
    { 
     InitializeComponent(); 
     to = new TestObject() { Prop = "Two"}; 
     Binding optionBinding = new Binding("Value", to, "Prop"); 
     optionBinding.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged; 
     this.ultraOptionSet1.DataBindings.Add(optionBinding); 
    } 

} 

public class TestObject 
{ 
    private string prop; 
    public string Prop 
    { 
     get 
     { 
      return prop; 
     } 
     set 
     { 
      System.Diagnostics.Debug.WriteLine("Current value :" + prop + " is being set to " + value); 
      if (value != prop) prop = value; 
     } 
    } 
} 

我建議驗證您的DataSourceUpdateMode在綁定上是否正確設置。如果你這樣做,你可能需要檢查是否有可以測試的NetAdvantage控件的後續服務版本。

+0

你是絕對正確的。當然,我搞砸了我的數據綁定。 :D現在它工作。謝謝! :) – user1829991