using System.Windows; namespace Ink_Canvas.Controls.Toolbar { /// /// 一个工具栏按钮(或任意浮动栏/白板栏条目)的插件化契约。 /// 实现类必须有无参构造函数,启动时会被 ToolbarRegistry 反射实例化。 /// public interface IToolbarItem { /// 稳定、唯一的 id,用于持久化用户配置。不要随便改。 string Id { get; } ToolbarSlot DefaultSlot { get; } /// 同一 slot 内的默认顺序,小的在前。 int DefaultOrder { get; } bool DefaultVisible { get; } ToolbarInsertPosition DefaultPosition { get; } /// 仅当 Position 为 BeforeAnchor/AfterAnchor 时有意义,对应 XAML 里 x:Name。 string DefaultAnchorName { get; } /// 构造 UI 元素并接线所有行为。 FrameworkElement BuildView(IToolbarHost host); } }