带有 MVVM 的 WPF:如何根据插入符位置在文本框中插入文本(不在后面的代码中)

问题描述 投票:0回答:1

我有一个文本框,它绑定到 Viewmodel 类的属性“display”

我现在的逻辑:
我有一个键盘,每当按下按键时,该键就会附加到现有字符串文本框的末尾。

我想要什么: 当按下键时,根据光标位置我的键应该被附加(不是在最后) 例如:“Stack”是一个字符串。我当前的光标位置在“S”之后,如果我按“G”键,Viewmodel类的属性“display”应该有“SGtack”(文本框显示“SGtack”但“Display”仍然是StackG)

wpf
1个回答
0
投票

在你的 ViewModel 中你必须有:

display 保留文本框文本的属性

CurrentPosition绑定文本框的SelectionStart

newChar 这是您要添加到文本框的新字符

当您单击按钮时,您应该看到类似这样的内容

    String newDisplay = display.Substring(0, CurrentPosition) + newChar +
 display.Substring(CurrentPosition, display.Length - CurrentPosition);
© www.soinside.com 2019 - 2024. All rights reserved.