C# 在wpf中,如何使两个段落块在同一级别上按级别排列,保持一个段落块左对齐,另一个段落块右对齐?
我正在制作一个聊天窗口,我只希望消息和日期时间应该在同一个直线上,并且在相同的基础上,在消息和日期时间段块中不应该有新行C# 在wpf中,如何使两个段落块在同一级别上按级别排列,保持一个段落块左对齐,另一个段落块右对齐?,c#,.net,wpf,C#,.net,Wpf,我正在制作一个聊天窗口,我只希望消息和日期时间应该在同一个直线上,并且在相同的基础上,在消息和日期时间段块中不应该有新行 String loginsays = "\n" + nick+ " says: "; Run run = new Run(loginsays); run.Foreground = new SolidColorBrush(Colors.DodgerBlue); myParagraph.Inlines.Add(new TextBlock(run)); fldoc.Block
String loginsays = "\n" + nick+ " says: ";
Run run = new Run(loginsays);
run.Foreground = new SolidColorBrush(Colors.DodgerBlue);
myParagraph.Inlines.Add(new TextBlock(run));
fldoc.Blocks.Add(myParagraph);
Run run2 = new Run(msg);
run2.Foreground = new SolidColorBrush(Colors.Black);
myParagraph.Inlines.Remove(run);
myParagraph.Inlines.Add(new TextBlock(run2));
fldoc.Blocks.Add(myParagraph);
//(DateTime.Now.ToString("hh:mm:tt")
System.Windows.Documents.Paragraph datetime =
new System.Windows.Documents.Paragraph();
Run rundate = new Run(dt);
rundate.Foreground = new SolidColorBrush(Colors.DarkGray);
datetime.Inlines.Add(new TextBlock(rundate));
datetime.TextAlignment = TextAlignment.Right;
datetime.FontSize = 10;
fldoc.Blocks.Add(datetime);
我已经制作了两个区块,一个用于聊天,另一个用于日期,一个是左对齐,另一个是右对齐。我想你可以(ab)使用a。你可以(ab)使用a,我想。可能不是你想要的确切答案,但是我认为
流程文档
不是最好的UI控件。我将使用ListBox
并为ListBoxItem
创建一个ItemTemplate
,作为网格布局(一行三列)。此外,我将创建一个表示聊天消息的类(具有who、what和when属性),将其保存在所有聊天信息的可观察集合中,并将其绑定到列表框的项源
可能不是您想要的确切答案,但是我认为流程文档
不是用于此目的的最佳UI控件。我将使用ListBox
并为ListBoxItem
创建一个ItemTemplate
,作为网格布局(一行三列)。此外,我将创建一个表示聊天消息的类(具有用于谁、什么和什么时候的属性),将其保存在所有聊天消息的可观察集合中,并将其绑定到列表框的项源
,当文本太长以至于必须包装时会发生什么?它能像一张桌子一样工作吗?或者你想要更智能的东西吗?当文本太长以至于必须换行时会发生什么?它能像桌子一样吗?还是你想要更智能的东西?