Есть ли что-то вроде метода «OnPaint» в Silverlight? - PullRequest
0 голосов
/ 01 августа 2011

Есть ли что-то вроде метода "OnPaint" в Silverlight?

Назад, когда я писал на C ++, я обнаружил, что было легко использовать событие OnPaint для настройки отображения класса на экране?

Есть ли эквивалент в Silverlight? Если я хочу что-то сделать, когда на экране отображается UserControl, какой метод я бы переопределил?

Я заметил этот пост: C # WPF OnPaint альтернатива методу? но, похоже, в Silverlight есть не метод OnRender для класса UserControl.

Ответы [ 3 ]

2 голосов
/ 01 августа 2011

OnPaint был временным решением ... позволяющим настраивать внешний вид элементов управления. Это произошло потому, что у вас не было большого контроля над внешним видом каких-либо элементов управления в приложениях WinForms.

С Silverlight все меняется. Каждый элемент управления теперь эффективно обложен с использованием шаблонов и стилей , и есть несколько ограничений на их настройку. Слишком много ссылок, поэтому я просто взял пару для вас.

Получите хорошую книгу о Silverlight и научитесь правильно с ней работать (а не вокруг). Этот - один из моих любимых.

Если у вас есть конкретные вещи, которые вы пытаетесь сделать, к появлению пользовательских элементов управления, лучше перечислить их и найти лучший способ сделать это способ Silverlight . :)

0 голосов
/ 02 августа 2011

Это LayoutUpdated. Как в:

...
            this.LayoutUpdated += new EventHandler(LayoutUpdated);

}

  void LayoutUpdated(object sender, EventArgs e)
{}
0 голосов
/ 01 августа 2011

Вы не указали, что пытаетесь сделать.Если вы просто хотите узнать, когда отображается кадр, CompositionTarget.Rendering Событие сообщит вам об этом.Если вы действительно хотите нарисовать на отображаемом фрейме, вы не можете этого сделать.

...