0

我正嘗試用外部反射的漸變創建矩形。我想要類似於this(但對於矩形/網格)。我無法使用LinearGradientBrush實現它。以下是我的嘗試。但那不是我想要的。如何使用WP8.1(WinRT)中向外反射的漸變創建矩形?

<Border Grid.Row="1" Grid.ColumnSpan="2"> 
    <Border.Background> 
    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
     <GradientStop Color="Black" Offset="0" /> 
     <GradientStop Color="White" Offset="1" /> 
    </LinearGradientBrush> 
    </Border.Background> 

謝謝。

+1

簡而言之,你不能用漸變來做到這一點。出於性能原因,像素着色器對RT的支持也很小。您最好的選擇是使用.png圖像或使用多個對象,例如具有不同不透明度的「矩形」,並設置邊距來模擬所有四面的DropShadow外觀,從而重新創建它的幻覺。 –

回答

1

這是可行的,但棘手。您需要在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> 
+0

謝謝:)它幫助我,即使我無法完成我想要的東西 – meetme