2012-11-16 196 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