我在 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>
Run Code Online (Sandbox Code Playgroud)
并且绑定的属性在 ViewModel 中的作用域相同
public ICommand SearchBusCommand { get; }
public string SearchText { get; set; }
Run Code Online (Sandbox Code Playgroud)
但是,当我在 TextBox 中键入文本并点击 Button 时,命令会执行并且 SearchText 值为空...
我的期望是,当我在 TextBox 中键入文本时,SearchText 属性会更新为 Text 值。
如果我从 ViewModel 设置 SearchText 属性的值,它会出现在 TextBox 中。
好吧,在 UWP 中,TextBox.Text 属性上的绑定似乎默认为 OneWay ..!
我必须将绑定设置为 TwoWay 才能使其工作。
<TextBox Width="200" Text="{Binding SearchText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
Run Code Online (Sandbox Code Playgroud)
他们为什么要那样做!?
| 归档时间: |
|
| 查看次数: |
2229 次 |
| 最近记录: |