2012-11-11 16 views
1

我在类的事件处理程序中获得了FrameworkElement。是否有可能检查这个FrameworkElement是否具有borderthickness/borderbrush属性?检查FrameworkElement是否有边框

var element = myframeworkelement as IHasBorder; 
element.borderthickness = new Thickness(1,2,3,4); 

难道这样的事情存在吗?

回答

2

属性BorderThicknessBorderBrushControl类中定义。

所以,你可以尝试投你FrameworkElementControl,如果该作品,设置属性:

public partial class Window1 : Window 
{ 
    public Window1() 
    { 
     InitializeComponent(); 

     var pnl = new StackPanel(); 
     this.Content = pnl; 

     var button = new Button(); 
     button.Content = "Hi"; 

     pnl.Children.Add(button); 

     SetBorder(button); 
    } 

    public void SetBorder(FrameworkElement fe) 
    { 
     var borderControl = fe as Control; 

     if (borderControl != null) 
     { 
      borderControl.BorderThickness = new Thickness(10); 
      borderControl.BorderBrush = Brushes.Red; 
     } 
    } 
} 
+0

呀这样做。认为还有更多的机会。感谢您的确认 – KroaX