我在UWP中遇到TextBox.Text绑定问题。我一直在做WPF多年,通常知道我在XAML中做了什么,但是无法使这个绑定工作......
我在XAML的同一范围内有一个TextBox和一个Button
<StackPanel Orientation="Horizontal"
Margin="0,10,0,0">
<TextBox Width="200" Text="{Binding SearchText, UpdateSourceTrigger=PropertyChanged}"/>
<Button Margin="10,0,0,0"
Command="{Binding SearchBusCommand}">Go</Button>
</StackPanel>
绑定属性与ViewModel
中的范围相同public ICommand SearchBusCommand { get; }
public string SearchText { get; set; }
但是,当我在TextBox中键入文本并点击Button时,命令执行并且SearchText值为null ...
我的期望是当我在TextBox中输入文本时,SearchText属性会使用Text值更新。
如果我从ViewModel设置了SearchText属性的值,它确实出现在TextBox中。
答案 0 :(得分:2)
好吧,在UWP中,默认情况下TextBox.Text属性上的绑定是OneWay ..!
我必须将绑定设置为TwoWay才能使其正常工作。
<TextBox Width="200" Text="{Binding SearchText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
为什么他们会这样做??