[используя VB.NET, но я могу легко прочитать код C # в ответах]
У меня есть класс с именем QuestionClipboard
со ВСЕМИ общими методами / свойствами.
Ранее у меня была функция QuesitonClipboard.doesClipboardHaveContent
, которая возвращала истину / ложь, если в моем буфере обмена был объект.
Я бы предпочел реализовать свойство зависимости, чтобы разрешить этому значению true / false участвовать в привязке данных.
Для метода «GetValue (dp as DependencyProperty)» требуется экземпляр объекта, что означало бы, что мое свойство НЕ МОЖЕТ делиться!
Вот как будет выглядеть код в моем идеальном мире ... Конечно, слово "Shared" перед объявлением свойства делает этот код бесполезным.
Private Shared clipboardHasContentPropertyKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("clipboardHasContent", GetType(Boolean), GetType(QuestionClipboard), _
New PropertyMetadata(False, Nothing, New CoerceValueCallback(AddressOf coerceClipboardHasContent)))
Private Shared clipboardHasContentProperty As DependencyProperty = clipboardHasContentPropertyKey.DependencyProperty
Public SHARED Property clipboardHasContent As Boolean
Get
Return GetValue(clipboardHasContentProperty)
End Get
Set(ByVal value As Boolean)
SetValue(value)
End Set
End Property