我正在使用WPF创建聊天应用程序。短信将添加到在运行时创建的Rich文本框中,这些框将添加到“堆栈”面板中。
我需要为来自不同用户的邮件提供不同颜色的边框。
如何在运行时围绕这些消息设置边框?
答案 0 :(得分:0)
你可以使用Border():) ie:
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();
}
答案 1 :(得分:0)
您可以使用边框画笔属性,任何有边框的控件都具有此属性,例如,如果要为您编写以下内容的按钮添加边框颜色:
myButton.BorderBrush = new SolidColorBrush(Color.FromArgb(a: 255, r: 204, g: 204, b: 204));
我希望这可以解决你的问题。