Я вообще-то новичок в .net, работая над моим первым приложением в стиле метро и не могу найти способ добавить простую тень к некоторым элементам моего пользовательского интерфейса. Я слышал, что может быть невозможно сделать простые эффекты пользовательского интерфейса, такие как это с winRT, и было интересно, правда ли эти слухи. Если да, то у кого-нибудь есть работа для этого эффекта?Можно ли создавать простые эффекты пользовательского интерфейса, такие как тени в winRT?
ответ
Если вы строите приложение Metro в xaml, нет встроенных растровых эффектов (например, тени, размытия, свечения и отражения). Возможно, вы сможете создать растровое изображение тени и использовать его как 9 grid, но это будет работать только в некоторых сценариях.
Если вы используете html + css + js, вы можете использовать растровые эффекты CSS3 для создания тени для тени на ящике.
Для XAML Metro/Современных приложений, this XAML drop shadow sample works perfectly
тень обычно размыта – thumbmunkeys
Вот решение для создания 4 пикселя широкой тени, копируется из шаблона по умолчанию для ChildWindow в Silverlight -
<Grid>
<Border BorderBrush="#14000000" BorderThickness="1" Background="#14000000" CornerRadius="2" Margin="1,1,-1,-1"/>
<Border BorderBrush="#0F000000" BorderThickness="1" Background="#0F000000" CornerRadius="2.25" Margin="2,2,-2,-2"/>
<Border BorderBrush="#0C000000" BorderThickness="1" Background="#0C000000" CornerRadius="2.5" Margin="3,3,-3,-3"/>
<Border BorderBrush="#0A000000" BorderThickness="1" Background="#0A000000" CornerRadius="2.75" Margin="4,4,-4,-4" />
<Border BorderBrush="Black" BorderThickness="1" Background="#FFFFFFFF" CornerRadius="2">
...Actual content...
</Border>
</Grid>
BCL не поддержка тени, но win2d (https://github.com/Microsoft/win2d) поддержка.
вы можете использовать CanvasControl из win2d или попробовать эту библиотеку, основанную на win2d https://github.com/brookshi/XPShadow
Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/10904857) – Dmitry
Я знаю, почему я получаю два отрицательных голоса за 10 минут, спасибо :) –
Вы не должны использовать тени ... Это против стиля Metro –
Этот пример WPF также должен работать для Win8 XAML: http://stackoverflow.com/questions/2831062/wpf-drop-shadow –
У Win8 нет тега Effect. –