UWP TextBox 文本绑定不起作用

Gle*_*mas 3 mvvm uwp uwp-xaml

我在 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 中。

Gle*_*mas 7

好吧,在 UWP 中,TextBox.Text 属性上的绑定似乎默认为 OneWay ..!

我必须将绑定设置为 TwoWay 才能使其工作。

<TextBox Width="200" Text="{Binding SearchText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
Run Code Online (Sandbox Code Playgroud)

他们为什么要那样做!?