像在WPF中的Xamarin中的TextChanged?

时间:2017-11-24 13:18:55

标签: c# events xamarin textchanged

对于项目,我需要在用户输入时发送实时短信。要不发送条目中的所有文本,我创建了一个仅发送文本更改的协议。像这样: 初始(旧)文字:Hello 新文本:ello World协议发送:+[5][ World]-[0][1]其中+表示添加, - 表示删除,5表示位置5,0表示位置0,1表示删除一个字符。

要在WPF中存档,我写了这个:

private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{    
    foreach (var change in e.Changes)
    {
        if (change.RemovedLength > 0)
        {
            lcb.Remove((byte)change.Offset, (byte)change.RemovedLength);
        }
        if (change.AddedLength > 0)
        {
            var lul = WriteText.Substring(change.Offset, change.AddedLength);
            lcb.Add((byte)change.Offset, lul);
        }
    }
}

在Xamarin中TextChangedEventArgs只实现.NewTextValue.OldTextvalue,因此使用.Changes不再适用于此。

是否存在'Hack'或其他东西来获取像WPF中那样被更改的字符,或者我是否必须使用O(ND) Difference Algorithm之类的算法并手动获取更改?

0 个答案:

没有答案