【问题标题】:Check if FrameworkElement does have Border检查 FrameworkElement 是否有 Border
【发布时间】:2012-10-31 01:36:48
【问题描述】:

我在一个类的事件处理程序中有一个FrameworkElement。是否有可能检查此FrameworkElement 是否是具有borderthickness/borderbrush 属性的元素?

喜欢

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

这样的东西存在吗?

【问题讨论】:

    标签: c# .net wpf frameworkelement


    【解决方案1】:

    BorderThicknessBorderBrush 属性在 Control 类中定义。

    所以您可以尝试将您的FrameworkElement 转换为Control,如果可行,请设置属性:

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

    【讨论】:

    • 是的。认为还有更多的机会。感谢您的确认
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 2015-04-11
    • 2017-12-04
    相关资源
    最近更新 更多