1

一般来说,我是 .net 的菜鸟,正在开发我的第一个 Metro 风格应用程序,但找不到向我的一些 UI 元素添加简单阴影的方法。我听说用 winRT 可能无法制作像这样的简单 UI 效果,我想知道这些传言是否属实。如果是这样,有没有人可以解决这种效果?

4

4 回答 4

2

如果您在 xaml 中构建 Metro 应用程序,则没有内置的位图效果(如投影、模糊、发光和反射)。您可能能够创建投影的位图图像并将其用作9 网格,但这仅在某些情况下有效。

如果你使用 html+css+js,你可以使用 CSS3 位图效果在一个盒子上创建一个投影。

于 2012-08-11T07:22:01.297 回答
2

这是创建 4 像素宽阴影的解决方案,从 Silverlight 中 ChildWindow 的默认模板复制而来——

<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>
于 2015-01-14T06:17:41.123 回答
0

对于 XAML Metro/Modern 应用程序, 此 XAML 投影示例完美运行

于 2012-10-06T20:50:15.347 回答
0

BCL 不支持 shadow,但 win2d( https://github.com/Microsoft/win2d ) 支持。

你可以使用 win2d 的 CanvasControl 或者尝试这个基于 win2d 的库https://github.com/brookshi/XPShadow

于 2016-01-15T10:39:42.423 回答