我正在使用WPF创建聊天应用程序。将短信添加到在运行时创建的的Rich文本框中,并将这些框添加到堆栈面板。围绕文本范围的边框
我需要有不同颜色的边框来自不同用户的消息。
如何在运行时围绕这些消息设置边界?
我正在使用WPF创建聊天应用程序。将短信添加到在运行时创建的的Rich文本框中,并将这些框添加到堆栈面板。围绕文本范围的边框
我需要有不同颜色的边框来自不同用户的消息。
如何在运行时围绕这些消息设置边界?
您可以使用边框():)即:
Border b = new Border()
{
BorderBrush = new SolidColorBrush(Color.FromArgb(0xFF, 0x80, 0x80, 0x80)),
BorderThickness = new Thickness(1, 0, 1, 2),
CornerRadius = new CornerRadius(1, 1, 1, 5)
};
你可以让你的StackPanel作为一个占位符,并在运行时添加到它。 sp.Children.Add(b);
编辑:一个例子:如果你想边框颜色添加到你写下面的一个按钮
void Main()
{
StackPanel sp = new StackPanel();
for (int i = 0; i < 10; i++)
{
Border b = new Border()
{
BorderBrush = new SolidColorBrush(
i % 2 == 0
? Color.FromArgb(0xFF, 0x80, 0x80, 0x80)
: Color.FromArgb(0xFF, 0xFF, 0x0, 0x0)
),
BorderThickness = new Thickness(1, 0, 1, 2),
CornerRadius = new CornerRadius(1, 1, 1, 5),
Child = new RichTextBox()
};
sp.Children.Add(b);
}
new Window { Content = sp }.ShowDialog();
Dispatcher.CurrentDispatcher.InvokeShutdown();
}
您可以使用边框刷属性,有边界的任何控件还具有以下属性,例如:
myButton.BorderBrush = new SolidColorBrush(Color.FromArgb(a: 255, r: 204, g: 204, b: 204));
我希望这可以解决您的问题。
谢谢Fadl。但是我正在寻找一种只在文本周围有边框的方法,并且字符串没有边界刷属性。 – Teeloo
创建一个具有Color属性的User类,创建一个引用User的Message类并使用Message.User.Color设置Border.BorderBrush – nkoniishvt