我在这里要完成的是,能够添加这样的文本消息:
能够制作一个聊天框,我可以说1000 msgs,就像这样..所以我创建了一个自定义RichTextBox
如下:
public class CustomRichTextBox : RichTextBox
{
public CustomRichTextBox()
{
}
public static byte[] ImageToByte(Image img)
{
ImageConverter converter = new ImageConverter();
return (byte[])converter.ConvertTo(img, typeof(byte[]));
}
public static string ByteArrayToString(byte[] ba)
{
StringBuilder hex = new StringBuilder(ba.Length * 2);
foreach (byte b in ba)
hex.AppendFormat("{0:x2}", b);
return hex.ToString();
}
public void AddPic(Image img)
{
string imgStr = ByteArrayToString(ImageToByte(img));
string mpic = @"{\pict\pngblip\picw" +
img.Width.ToString() + @"\pich" + img.Height.ToString() +
@"\picwgoal" + img.Width.ToString() + @"\pichgoal" + img.Height.ToString() +
@"\hex " + imgStr + "}";
Rtf += mpic + " Username \r\n Said!...";
}
}
但RichTextBox
没有真正显示,我在这里缺少什么!?我只是希望它显示头像和旁边的一个段落,稍后我会更改font/color etc
答案 0 :(得分:0)
我认为您的头像图片以及用户名的文本框应该是与评论/消息内容分开的控件。这就是它应该如何做的:
<StackPanel orientation="horizontal">
<Image alt="avatar" />
<StackPanel orientation="vertical">
<TextBox>Username</TextBox>
<RichTextBox>Message or Comment</RichTextBox>
</StackPanel>
</StackPanel>
转换为您选择的布局。