Объединение ToolstripButtons и ToolstripMenuItems
Почти во всех случаях ToolStripItems
делать то, что их эквивалент MenuStripItem
делать. В этих случаях, ToolTip
, icon
а также text
из этих двух команд одинаковы. Итак, есть ли какой-либо способ (предпочтительно собственный способ.NET) для синхронизации и объединения этих двух элементов? Это может быть способ определить команды где-то еще и просто поместить их в различные полосы.
1 ответ
Вы должны взглянуть на шаблон команды, который позволит вам инкапсулировать логику, которую вы хотите вызвать из обоих ToolStripButton
а также MenuStripItem
,
В этом посте Stackru приводятся некоторые примеры реализации шаблона команд в.net, и этот ответ, который я предоставил, показывает, как обеспечить общий способ привязки команд к кнопкам (это может быть очень легко адаптировано для работы с другими элементами управления, такими как ToolStripItem
).
Есть ICommand
интерфейс для использования с WPF, но нет никаких причин, почему вы не можете использовать его в приложении Windows Forms.
Наконец, если вы хотите предоставить другие общие свойства для команды, такие как текст команды или изображение, я бы предложил получить новый интерфейс из ICommand
интерфейс (например, называется IUICommand
), который обеспечивает эти свойства. Это не займет много усилий, чтобы улучшить CommandBinding
класс, показанный в ссылке, чтобы установить соответствующие свойства в вашем ToolStripItem
,