我有一個TextBox。在集合中,根據我的邏輯,我已經修改了文本框的值。但是UI沒有更新。用戶界面未正確更新爲wpf TextBox
<TextBox
Width="185"
Name="TextBoxNumber"
VerticalAlignment="Center"
HorizontalAlignment="Left"
BorderThickness="0"
Margin="5, 4, 0, 2"
Text="{Binding Path=OmukText, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
</TextBox>
這裏是set和get
private string _omukText = string.Empty;
public string OmukText
{
get
{
return this._omukText;
}
set
{
if(value.Equals(" "))
{
_omukText = string.Empty;
}
if (value.Length > 4 && !value.Contains(" "))
{
this._omukText = value.Insert(4, " ");
}
else
{
this._omukText = value.Trim();
}
this.OnPropertyChanged("OmukText");
}
}
假設,用戶把一個空間在文本框中,根據我的二傳手,該值應設置爲空字符串。但實際上,絃線保持原樣,只有一個空間。該屬性在UI中未被更改。我怎樣才能實時更改用戶界面?我願意接受其他選擇,而不是這樣做。
僅供參考 - 我使用.NET 4.0
嗨,你的輸入值是什麼?你給出的那個,我的意思是UI或虛擬機,你期望的答案是什麼? – Poovizhi
我在文本框中輸入一個空格。在setter中,我有_omukText的值來清空字符串,但在文本框中它仍然在文本框中顯示一個空格。 – lukai
我使用相同的代碼,它可以正常工作,但使用我自己的OnPropertyChanged方法。 – Poovizhi