代码之家  ›  专栏  ›  技术社区  ›  Hari prasad kasavajjala

一个控件的更新源触发器应影响另一个控件

  •  0
  • Hari prasad kasavajjala  · 技术社区  · 8 年前

    我正在使用DataGrid的第三方控件。我已经在模型类中实现了属性更改事件,当我使用

     Text="{Binding itemQty, UpdateSourceTrigger=propertychanged}"
    

    它甚至在我的数据源中更新,但我有另一个文本框,这里的数据不是从项源检索的,尽管项源是用新值更新的。 我想用第一个文本框的属性更改事件显示数据,并且行是动态的,所以不能直接调用它们。 如果我刷新它显示的数据源,但我不能使用该进程,因为当项目很多时,这是一个耗时的进程。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Nico Zhu    8 年前

    我想用第一个文本框的属性更改事件显示数据,并且行是动态的

    问题是你还没准备好 Mode=TwoWay 为了你 Text 财产。和 UpdateSourceTrigger 定义常量,该常量指示绑定源在中由其绑定目标更新的时间。 双向的 结合。

    <TextBox Text="{Binding Info,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
    <TextBox Text="{Binding Info}"/>
    

    代码落后

    private string info { get; set; }
    public string Info
    {
        get { return info; }
        set
        {
            info = value;
            OnPropertyChanged();
        }
    }
    
    public event PropertyChangedEventHandler PropertyChanged;
    
    private void OnPropertyChanged([CallerMemberName] string properName = null)
    {
        if(PropertyChanged != null)
        this.PropertyChanged(this,new PropertyChangedEventArgs(properName));
    }