我正在使用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