我希望能够写入文本字段的左侧和右侧,具体取决于邮件是从用户还是服务器发送。
到目前为止,我有这个:
if (Equals(first, Name))// checks if im the one sending message
{
BeginInvokeOnMainThread(delegate
{
OutgoingText.Text += StateObject.Response + "\n";
OutgoingText.TextAlignment = UITextAlignment.Left;
});
}
else
{
BeginInvokeOnMainThread(delegate
{
OutgoingText.Text += StateObject.Response + "\n";
OutgoingText.TextAlignment = UITextAlignment.Right;
});
}
不幸的是Alignment.Right
和Alignment.Left
移动了文本字段的全部内容。我想这个问题有很多解决方案,但我刚开始这么简单,越好。
答案 0 :(得分:0)
改编自此处:Color different parts of a RichTextBox string
您可以扩展Richtextbox类并创建一个接受对齐参数的方法。它可能看起来像这样:
public static class RichTextBoxExtensions
{
public static void AppendText(this RichTextBox box, string text, HorizontalAlignment align)
{
box.SelectionStart = box.TextLength;
box.SelectionLength = 0;
box.SelectionAlignment = align;
box.AppendText(text);
}
}
您可以这样使用:
richTextBox1.AppendText("lasdflaksjdflakjsdf\n", HorizontalAlignment.Left);
richTextBox1.AppendText("lasdflaksjdflakjsdf\n", HorizontalAlignment.Right);