手动为WPF CustomControls C#添加Snaplines

时间:2016-02-10 07:32:16

标签: c# wpf gui-designer

我正在设计一个用于绘制自定义控件的画布。我遇到的一大挑战是在控件中添加SnapLines,以帮助用户在移动时轻松对齐对象。看,我的目标是添加alignmentGuideLines,就像你在UI设计中看到的效果一样。为此:

  1. 我搜索了opensrc项目,但都在Winforms中。 Best ex.

  2. 关注此section的最后一段。

  3. 继承自ControlDesign并覆盖了像这样的snaplines属性

    class SmartAligner : ControlDesigner
    {
        List<SnapLine> snaplines = new List<SnapLine>();
    
    
        public SmartAligner()
        {
            snaplines.Add(new SnapLine(SnapLineType.Bottom, 0, SnapLinePriority.Always));
        }
    
    
        public override IList SnapLines
        {
            get { return snaplines; }
        }        
    }
    

    通过引用MSDN示例与我的自定义控件相关联 喜欢这个

    [DesignerAttribute(typeof(SmartAligner))]
    public class FrameHorConCtrl : ContentControl, ISelectable, INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged = delegate { };
    
        static FrameHorConCtrl()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(FrameHorConCtrl), new FrameworkPropertyMetadata(typeof(FrameHorConCtrl)));
    
        }
    }
    

    坏消息是,没有任何反应!甚至,ctor(Constructor)的{​​{1}}上没有出现断点!

    任何想法?

0 个答案:

没有答案