2016-03-01 33 views
3

我將我的UWP應用程序從Binding重寫爲x:Bind。我在不同的文本框上有一個TextChanged事件。通過綁定,我可以使用GetBindingExpression更新模型。有沒有一個等價的Methode for x:Bind?或者我怎麼能用x來綁定它:綁定?UWP使用GetBindingExpression與x:綁定

public void TextBox_TextChanged(object sender, TextChangedEventArgs e) 
    { 
     var binding = ((TextBox)sender).GetBindingExpression(TextBox.TextProperty); 
     binding.UpdateSource(); 
    } 

回答

1

FrameworkElement.GetBindingExpression方法返回一個包含有關Binding的單個實例信息BindingExpression

所以這隻能用於綁定。根據您發佈的代碼,似乎您希望在文本更改時使用x:Bind更新源代碼。在綁定,我們可以設置UpdateSourceTriggerPropertyChanged做到這一點:

<TextBox Text="{Binding Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="200" Margin="5" /> 

但沒有UpdateSourceTrigger屬性X:綁定,它只是觸發上失去了焦點。所以我建議你在這種情況下繼續使用Binding。