簡體   English   中英

文本框-綁定屬性值不會立即更新

[英]Textbox - bound property value does not update immediately

我有一個綁定到屬性ItemID的文本框,如下所示。

private string _itemID;
public string ItemID {
    get { return _itemID; }
    set { 
        _itemID = value;
    }
}

文本框的XAML如下:

<TextBox Text="{Binding Path=ItemID, Mode=TwoWay}" Name="txtItemID" />

問題是,當我鍵入時, ItemID的值不會立即更新,
導致“ Add按鈕被禁用(命令),直到通過按Tab鍵使文本框失去焦點。

是的,默認情況下,該屬性僅在失去焦點時才更新。 這是為了避免每次擊鍵時更新綁定屬性,從而提高了性能。 您應該使用UpdateSourceTrigger = PropertyChanged

嘗試這個:

<TextBox 
    Text="{Binding Path=ItemID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
    Name="txtItemID" />

您還應該為ViewModel實現INotifyPropertyChanged接口。 否則,如果在ViewModel中更改了該屬性,則UI將不了解該屬性。 因此,它將不會被更新。 可能有助於實施。

您需要在設置器中觸發OnPropertyChanged事件,否則框架無法知道您是否編輯了該屬性。

這里有些例子:

在沒有魔術字符串的情況下實現NotifyPropertyChanged

對象更新后通知PropertyChanged

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM