Сила WPF, конкретная визуальный, чтобы быть, отдает в программном режиме только

Я работаю с wpf и задаюсь вопросом, есть ли какой-либо способ вынудить определенное визуальное быть предоставленным в программном режиме только.

Например, там немногие Прямоугольник в сетке:

Rectangle rect1 = new Rectangle() { Width = ........};
Rectangle rect2 = new Rectangle() .........
......... rect3 .....
     .... rect4 ......

Я хочу, чтобы rect1 был предоставлен в программном режиме и других прямоугольниками (rect2,3,4), чтобы быть предоставленным с аппаратным ускорением.

Действительно ли возможно сделать так?

Спасибо.

0
nl ja de
Я don' t думают, что вы можете, почему вам нужно это?
добавлено автор Arsen Mkrtchyan, источник
Почему вы хотели бы сделать это?
добавлено автор PhonicUK, источник

1 ответы

Можно вызвать предоставление программного обеспечения в окне или уровне приложения, но не для определенных элементов в том же самом контейнере. Это имеет смысл, когда вы рассматриваете, как элементы - composited вместе системой расположения wpf и предоставленный от того сложного государства. Думайте о том, что произошло бы, если они перекрыты, частично прозрачные, и т.д. Смешивание способов требует выпрыгивания из системы расположения с отдельным Hwnds, у которого тогда было бы предоставление организованным на уровне OS.

Для справки предоставление программного обеспечения уровня приложения может быть установлено с:

RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;

И отдельные окна (Hwnds) могут установить с:

HwndSource source = PresentationSource.FromVisual(myVisual) as HwndSource;
HwndTarget target = source.CompositionTarget;
target.RenderMode = RenderMode.SoftwareOnly;
0
добавлено