簡體   English   中英

文字范圍周圍的邊框

[英]Border around text range

我正在使用WPF創建聊天應用程序。 將文本消息添加到在運行時創建的Rich文本框並將這些框添加到“堆棧”面板。

對於來自不同用戶的消息,我需要使用不同的彩色邊框

如何在運行時圍繞這些消息設置邊界?

您可以使用Border():)即:

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));

我希望這能解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM