VisualBrush больше не работает с приложениями Windows 8 Metro?

Сейчас я разрабатываю приложение с эффектом отражения. Я попытался назначить VisualBrush для Rectangle.Fill как:

<Rectangle.Fill>
   <VisualBrush Opacity="0.75" Stretch="None" Visual="{Binding ElementName=ReflectedVisual}">
   </VisualBrush> 
</Rectangle.Fill>

И VS сообщает, что VisualBrush не существует в моем пространстве имен xml. Я вручную добавил его в файл XAML, используя:

xmlns:fx="http://schemas.microsoft.com/netfx/2007/xaml/presentation"

И добавил эталонную DLL. Однако теперь VS говорит, что я не могу назначить VisualBrush свойству класса Brush.

Мне это показалось странным, поскольку я вспомнил, что тот же код хорошо работал в Vista. Кто-нибудь знает, есть ли что-то, что мне здесь не хватает?

Спасибо.


person Daqi Pei    schedule 28.01.2012    source источник
comment
Метро имеет мало общего с Вистой. Вам придется работать с классами кистей, доступными в пространстве имен Windows.UI.Xaml.Media. msdn.microsoft.com/en- мы/библиотека/окна/приложения/   -  person Hans Passant    schedule 28.01.2012
comment
Вы можете проголосовать за него здесь: visualstudio.uservoice.com/forums/121579-visual-studio/   -  person JP Hellemons    schedule 02.01.2013


Ответы (1)


Приложения Metro не имеют такого же набора кистей, ресурсов и элементов XAML, как в WPF.

В качестве обходного пути можно было бы использовать ссылку WriteableBitmap и используйте метод Render, чтобы нарисовать элемент в растровом изображении. К сожалению, текущая версия не поддерживает метод рендеринга.

person Emond Erno    schedule 30.01.2012