Отключить кнопку панели инструментов Infragistics (ButtonTool) - PullRequest
2 голосов
/ 19 января 2011

Мне нужно включить / отключить ButtonTool.

Перед использованием Infragistics я использовал обычный WinForms ToolbarButton, у которого есть свойство «Включено».

Я использовал привязку данных следующим образом:

UndoButtonTool.DataBindings.Clear()
UndoButtonTool.DataBindings.Add("Enabled", memory, "CanUndo")

Как я могу теперь использовать инфраструктуру ButtonTool?

выполнение

UndoButtonTool.DataBindings.Clear()
UndoButtonTool.DataBindings.Add("SharedProps.Enabled", memory, "CanUndo")

не будет работать ...

Я уже реализовалcustom BindableButtonTool:

Public Class ToolStripBindableButton
  Inherits Infragistics.Win.UltraWinToolbars.ButtonTool
  Implements IBindableComponent

  Private _DataBindings As ControlBindingsCollection
  Private _BindingContext As BindingContext
  Private _Site As System.ComponentModel.ISite

  Public Event DisposedAsStrip As EventHandler Implements IBindableComponent.Disposed

  Sub New(ByVal name As String)
    MyBase.New(name)
  End Sub

  Public ReadOnly Property DataBindings() As ControlBindingsCollection Implements System.Windows.Forms.IBindableComponent.DataBindings
    Get
      If _DataBindings Is Nothing Then
        _DataBindings = New ControlBindingsCollection(Me)
      End If
      Return _DataBindings
    End Get
  End Property

  Public Property BindingContext() As BindingContext Implements System.Windows.Forms.IBindableComponent.BindingContext
    Get
      If _BindingContext Is Nothing Then
        _BindingContext = New BindingContext()
      End If
      Return _BindingContext
    End Get
    Set(ByVal value As BindingContext)
      _BindingContext = value
    End Set
  End Property

  Public Overloads Sub Dispose()
    If _DataBindings IsNot Nothing Then
      _DataBindings.Clear()
      _DataBindings = Nothing
    End If
    _BindingContext = Nothing

    MyBase.Dispose()

    RaiseEvent DisposedAsStrip(Me, EventArgs.Empty)
  End Sub

  Property Site As System.ComponentModel.ISite Implements System.ComponentModel.IComponent.Site
    Get
      Return _Site
    End Get
    Set(ByVal value As System.ComponentModel.ISite)
      _Site = value
    End Set
  End Property

End Class

1 Ответ

2 голосов
/ 24 мая 2012

Чтобы включить / отключить Infragistics ButtonTool, вы можете использовать следующий код

myButtonTool.SharedProps.Enabled = True / False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...