CurrentColumn += str.Length;
NotifyValueChanged ("Text", Text);
}
-
+ /// <summary>
+ /// Insert a line break.
+ /// </summary>
+ protected void InsertLineBreak()
+ {
+ lines.Insert(CurrentLine + 1, lines[CurrentLine].Substring(CurrentColumn));
+ lines [CurrentLine] = lines [CurrentLine].Substring (0, CurrentColumn);
+ CurrentLine++;
+ CurrentColumn = 0;
+ NotifyValueChanged ("Text", Text);
+ }
#region GraphicObject overrides
[XmlAttributeAttribute()][DefaultValue(-1)]
public override int Width {
break;
case Key.Enter:
case Key.KeypadEnter:
- OnTextChanged(this,new TextChangeEventArgs(Text));
+ if (Multiline)
+ this.InsertLineBreak ();
+ else
+ OnTextChanged(this,new TextChangeEventArgs(Text));
break;
case Key.Escape:
Text = "";
break;
}
+ if (Width < 0)
+ RegisterForLayouting ((int)LayoutingType.Width);
+ if (Height < 0)
+ RegisterForLayouting ((int)LayoutingType.Height);
registerForGraphicUpdate();
}
#endregion