我将 a 绑定TextBox
到我的 ViewModel 的属性。当用户单击 ApplicationBar 按钮时,将调用一个命令(我正在使用 BindableApplicationBar,它可以在 NuGet 上找到)。问题是当用户键入TextBox
并立即单击应用程序按钮时,TextBox
没有调用 的设置器,这意味着 ButtonCommand 正在使用旧文本。
我已经看到了很多解决方案,但我无法在我的情况下使用它们。唯一的“解决方案”是摆脱 ApplicationBar 并使用一个按钮,它位于键盘后面(当用户单击 TextBox 时会弹出。我使用的是 Windows Phone,所以这就是为什么有一个键盘。 ..)。所以用户必须点击其他地方才能使用按钮-> lostfocus。
一些解决方案:
与 UpdateSourceTrigger==LostFocus 绑定不会触发菜单或工具栏交互
我不能使用 UpdateSourceTrigger=PropertyChanged 并且我正在使用 MVVM,所以我也不想使用 CodeBehind。如果没有 CodeBehind 就没有其他方法可以做到这一点,那么没关系。