首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据另一个NumericUpDown控件更新NumericUpDown值

根据另一个NumericUpDown控件更新NumericUpDown值
EN

Stack Overflow用户
提问于 2014-08-19 09:31:02
回答 2查看 1.2K关注 0票数 2

伙计们,如果我在我的XAML中有2个数字,像这样

代码语言:javascript
复制
<Input:SfNumericUpDown Grid.Column="1" Margin="10,0,10,0"  Value="{Binding CompoundQty}" ValueChanged="SfNumericUpDown_ValueChanged"/>
<Input:SfNumericUpDown Grid.Column="4" Margin="10,0,10,0" Value="{Binding ResultQty}" Tag="{Binding ItemID}" />

我想要根据第一个数值来改变第二个数值。我试着把这个写在密码后面。

代码语言:javascript
复制
private void SfNumericUpDown_ValueChanged(object sender, Syncfusion.UI.Xaml.Controls.Input.ValueChangedEventArgs e)
    {
        var numCompoundQty = (SfNumericUpDown)sender;
        foreach(var row in _entityEdited.ListCompoundDisplay)
        {
            if(row.ItemID == Convert.ToInt32(numCompoundQty.Tag))
            {
                row.CompoundQty = Convert.ToDecimal(numCompoundQty.Value);
                row.ResultQty = Convert.ToDecimal(numDispenseQty.Value) * row.CompoundQty;
                break;
            }
        }



    }

但是这不管用,你们能帮我一下吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-19 20:35:51

您将在这里遇到问题,因为您试图引用一个名为"numDispenseQty“的元素,您无法访问该元素(假设它在DataTemplate中)。您应该使用与视图模型的双向绑定,而不是处理“值更改”事件:

代码语言:javascript
复制
<Input:SfNumericUpDown Value="{Binding CompoundQty,Mode=TwoWay}" />

现在,将更新逻辑放入"CompoundQty“属性的setter中,例如:

代码语言:javascript
复制
public double CompoundQty
{
    get { return _compoundQty; }
    set
    { 
        _compoundQty = value;
        UpdateResultQty();
        RaisePropertyChanged("CompoundQty");
    }
}

private void UpdateResultQty()
{
    ResultQty = DispenseQty * CompoundQty;
}

请注意(正如@sslazio1900所指出的),您的视图模型类必须实现INotifyPropertyChanged,并在属性发生更改时引发PropertyChanged事件(视图知道如何更新自身)。

票数 2
EN

Stack Overflow用户

发布于 2014-08-19 10:03:21

尝试在这两个属性上引发NotifiyPropertyChanged事件。

否则,绑定引擎将无法检测值更改,因为您将永远不会更新您的值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25379993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档