Simonetos The Greek Ответов: 1

Установите значение по умолчанию для изображения “public property”


Я пытаюсь установить значение по умолчанию изображения общественная собственность в элемент управления UserControl.

Что я уже пробовал:

Я попытался сделать это с переменной, но безуспешно...
Private Image_ As Image = My.Resources.MyImage
<Category("Appearance")> <DisplayName("Image")> <DefaultValue(Image_)>
Public Property Image As Image
    Get
        Return NestedControl.Image
    End Get
    Set(ByVal value As Image)
        NestedControl.Image = value
    End Set
End Property
Я тоже пытался установить значение по умолчанию подобный этому..
<DefaultValue(GetType(Image), "My.Resources.MyImage")>
Но когда я нажимаю кнопку Сброс к элемент управления UserControlэто свойство, в которое он превращается "Никто- Есть ли какой-нибудь другой способ сделать это?

1 Ответов

Рейтинг:
0

OriginalGriff

Попробовать это:

Private Image_ As Image = My.Resources.MyImage
<Category("Appearance")> <DisplayName("Image")> 
Public Property Image As Image
    Get
        Return Image_
    End Get
    Set(ByVal value As Image)
        Image_ = value
    End Set
End Property


Simonetos The Greek

Ничего... Проблема заключается в DafaultValue. Дает мне ошибку "не может ссылаться на экземпляр-член класса из общего метода или инициализатора общего члена без явного экземпляра класса"

OriginalGriff

Как сообщение об ошибке, это имеет большой смысл - вы не можете этого сделать!
Удалите весь бит DefaultValue - я удалил его из решения.

Simonetos The Greek

Хорошо! Есть ли какой-нибудь другой способ, чтобы я мог установить значение по умолчанию в этом случае?

Maciej Los

Взгляните на свой код и исходный код Гриффа. Вы видите разницу?

    Get
        'Return NestedControl.Image 'your
        Return Image_ 'OriginalGriff's
    End Get

Другими словами, вы должны вернуться Image_ когда NestedControl.Image является нулевым. ;)

Simonetos The Greek

Да, мой друг, конечно, но это не включает опцию "сброс" в окне свойств, когда я щелкаю правой кнопкой мыши на свойстве изображения!!!

Maciej Los

См. обновленный комментарий.

Simonetos The Greek

Да, я видел это... - Ничего!!! :(