controllo WPF Border non supporta le linee tratteggiate. Se si desidera applicare un bordo punteggiato/tratteggiato per un controllo, è possibile semplicemente decorare il controllo con un dispositivo di decorazione.
Ecco la classe campione di adorner. Questo è un generico decoratore per qualsiasi UIelement.
class DottedLineAdorner : Adorner
{
public UIElement AdornedElement { get; set; }
public DottedLineAdorner(UIElement adornedElement) : base(adornedElement)
{
AdornedElement = adornedElement;
}
protected override void OnRender(DrawingContext drawingContext)
{
Size eltSize = (AdornedElement as FrameworkElement).DesiredSize;
Pen pen = new Pen(Brushes.Blue, 2) { DashStyle = DashStyles.DashDot };
drawingContext.DrawRoundedRectangle(null, pen, new Rect(0, 0, eltSize.Width, eltSize.Height), 10, 10);
}
}
Ho un semplice blocco di testo nel mio XAML ed è contenuto in una griglia di nome 'LayoutGrid'.
Ora, il confine può essere applicato nel codice dietro
private void Window_Loaded(object sender, RoutedEventArgs e)
{
AdornerLayer.GetAdornerLayer(LayoutGrid).Add(new DottedLineAdorner(textblock));
}
fonte
2011-06-28 07:31:13
Il link di immagine sembra essersi rotto. Se hai ancora l'immagine originale, caricala di nuovo su stack.imgur oppure modifica la risposta per farlo funzionare senza l'immagine. Grazie. –