我正在设计一个用于绘制自定义控件的画布。我遇到的一大挑战是在控件中添加SnapLines
,以帮助用户在移动时轻松对齐对象。看,我的目标是添加alignmentGuideLines,就像你在UI设计中看到的效果一样。为此:
我搜索了opensrc项目,但都在Winforms中。 Best ex.
关注此section的最后一段。
继承自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}}上没有出现断点!
任何想法?