1
4

2 に答える 2

2

SimpleMultilineEntryElement で、FetchValue を次のように変更します。基本的に、テキストの現在の位置が失われ、テキストを変更するたびにテキストの最後に移動します。

次のコードでは、テキスト内の現在の位置を最初に保存し、最後にカーソルの位置を変更しています。

public void FetchValue() {
    if (entry == null) {
        return;
    }

    int currentPos = entry.SelectedRange.Location;
    var newValue = entry.Text;
    if (newValue == Value) {
        return;
    }

    Value = newValue;

    if (Changed != null) {
        Changed(this, EventArgs.Empty);
    }

    if (currentPos > 0) {
        NSRange newPos = new NSRange(currentPos, 0);
        entry.SelectedRange = newPos;
    }
}
于 2012-11-15T09:44:12.090 に答える
0

これが問題なのか、それとも問題になる可能性があるのか​​は 100% わかりません。しかし、entryKey と cellkey は特定の要素に固有でなければならないと思いました。両方とも MultilineEntryElement に設定され、SimpleMultilineEntryElement には設定されません。

以前に MultilineEntryElement を使用したことがある場合は、GetCell でデキューされる可能性があると考えていました。

var cell = tv.DequeueReusableCell (CellKey);

多分...

于 2012-11-15T05:49:26.647 に答える