這是可行的,但棘手。您需要在Blend中執行此操作,因爲有一個漸變工具,可以讓您輕鬆旋轉漸變並調整漸變停止。你需要一個具有兩個相同大小的子網格的父網格。一個孩子需要的梯度是水平的,而另一個垂直的。您將不得不調整兩個網格上的不透明度,以便漸變顯示爲一個。我幾分鐘之內把這個XAML放在一起,所以它不是完美的,但它可能會幫助你...
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid Height="200">
<Grid.Background>
<LinearGradientBrush EndPoint="0.51,1.024"
StartPoint="0.507,0.052">
<GradientStop Color="White"
Offset="1" />
<GradientStop Color="#FFF7F7F7"
Offset="0.098" />
<GradientStop Color="Black"
Offset="0.5" />
<GradientStop Color="#FFC3C3C3"
Offset="0.211" />
<GradientStop Color="White"
Offset="0.829" />
</LinearGradientBrush>
</Grid.Background>
</Grid>
<Grid Height="200"
Margin="0,220">
<Grid.Background>
<LinearGradientBrush EndPoint="1.001,0.588"
StartPoint="-0.001,0.596">
<GradientStop Color="White"
Offset="1" />
<GradientStop Color="#FFF7F7F7" />
<GradientStop Color="#7F000000"
Offset="0.498" />
</LinearGradientBrush>
</Grid.Background>
</Grid>
</Grid>
簡而言之,你不能用漸變來做到這一點。出於性能原因,像素着色器對RT的支持也很小。您最好的選擇是使用.png圖像或使用多個對象,例如具有不同不透明度的「矩形」,並設置邊距來模擬所有四面的DropShadow外觀,從而重新創建它的幻覺。 –