UWP TextBox 文本绑定不起作用
UWP TextBox Text binding not working
我在使用 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 属性 会更新为文本值。
如果我从 ViewModel 设置 SearchText 的值 属性,它会出现在 TextBox 中。
好吧,似乎在 UWP 中 TextBox.Text 属性 上的绑定默认是单向的..!
我必须将绑定设置为 TwoWay 才能使其正常工作。
<TextBox Width="200" Text="{Binding SearchText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
他们为什么要那样做!?
我在使用 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 属性 会更新为文本值。
如果我从 ViewModel 设置 SearchText 的值 属性,它会出现在 TextBox 中。
好吧,似乎在 UWP 中 TextBox.Text 属性 上的绑定默认是单向的..!
我必须将绑定设置为 TwoWay 才能使其正常工作。
<TextBox Width="200" Text="{Binding SearchText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
他们为什么要那样做!?