<TextBox Text="{Binding MyTitle, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
在使用 x:Bind
时,有没有相应的功能等价物?
如果我这样使用,只有在焦点改变时才会更新。
<TextBox Text="{x:Bind ViewModel.MyTitle, Mode=TwoWay}" />
<TextBox Text="{Binding MyTitle, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
在使用 x:Bind
时,有没有相应的功能等价物?
如果我这样使用,只有在焦点改变时才会更新。
<TextBox Text="{x:Bind ViewModel.MyTitle, Mode=TwoWay}" />
Ken Tucker是正确的,x:Bind没有UpdateSourceTrigger属性,它的行为就像设置为PropertyChanged一样,除了TextBox会在失去焦点时触发。请查看此页面底部。因此,在这种情况下,您必须继续使用Binding。
如果您在2017年后读到这篇文章,UpdateSourceTrigger
现已添加,并在文档中进行了描述。我相信它是在秋季创作者更新版(版本号:16299)中添加的,因此,如果您的最小版本号为16299或更高版本,则可以使用 UpdateSourceTrigger
。
如果您要针对旧版本的Windows进行开发,则必须继续使用 Binding
。
UpdateSourceTrigger=PropertyChanged
表示每当文本更改时向视图模型发送通知。这意味着每次按键都会发送到视图模型。如果使用默认设置,则在用户导航离开TextBox
时更新视图模型。x:Bind
本身的行为类似于默认设置,而不是 PropertyChanged。 - Laithx:Binds
。 - Laith