我对.net一般来说是一个菜鸟,在我的第一个都市风格的应用程序上工作,无法找到一种方法来为我的一些UI元素添加一个简单的阴影。我听说可能无法使用winRT做这样简单的UI效果,并且想知道这些谣言是否属实。如果是这样,有没有人可以解决这个问题呢?
答案 0 :(得分:2)
如果您在xaml中构建Metro应用程序,则没有内置的位图效果(如投影,模糊,发光和反射)。您可以创建投影的位图图像并将其用作9 grid,但这仅适用于某些情况。
如果你使用html + css + js,你可以使用CSS3位图效果在一个盒子上创建一个投影。
答案 1 :(得分: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>
答案 2 :(得分:0)
对于XAML Metro / Modern应用程序, this XAML drop shadow sample works perfectly
答案 3 :(得分:0)
BCL不支持阴影,但支持win2d(https://github.com/Microsoft/win2d)。
您可以使用win2d的CanvasControl或根据win2d https://github.com/brookshi/XPShadow
尝试此库