Возможно ли иметь общее / статическое свойство зависимости? - PullRequest
1 голос
/ 25 мая 2010

[используя 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

1 Ответ

3 голосов
/ 25 мая 2010

Создание комментария как ответа.

Используйте singleton объект вместо всех статических / общих свойств. Вот пример на C # (VB.NET не так уж и далеко), и он имеет единственный класс, наследуемый от DependencyObject.

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