2009-08-26 6 views
1

Silverlight 3アプリケーションのグリッドの背景をグラデーションに設定しようとすると問題が発生します。アプリケーションのグリッドの背景をグラデーションに設定すると、グラデーションはブラウザでレンダリングされません。この勾配ブラシをresouce(app.xamlとローカルのXAMLファイルの両方)に設定しました。また、グラデーションブラシを直接ハードコーディングしてみました。 VSとExpression BlendのXAMLで手動で変更しました。Silverlight 3 - バックグラウンドの問題としてのグラデーション - バグ?

シャインが作成され、ファイルがブレンドで表示されると、背景色が正しくレンダリングされます。バックグラウンドがソリッドカラー(ハードコードとリソースの両方)に設定されている場合、バックグラウンドはExpressionとブラウザの両方でうまく描画されます。これらの両方のことは、これが問題のコントロールの上に1つのコントロールレンダリングでZ-インデックスの問題ではないことを私に示唆しています。ブラシのための

XAMLは次のとおりです。グリッドの

<LinearGradientBrush x:Key="TestBrush" 
     EndPoint="0.5,1" 
     StartPoint="0.5,0"> 
    <GradientStop Color="#8DFFFFFF" 
      Offset="1" /> 
    <GradientStop Color="#E4FFFFFF" /> 
</LinearGradientBrush> 

XAML、それは内容があります:

<Grid Margin="1,0,0,0" 
    Grid.Row="0" 
    VerticalAlignment="Top" 
    Height="49" Background="{StaticResource TestBrush}"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="2*" /> 
     <ColumnDefinition Width="*" /> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <StackPanel Orientation="Horizontal" 
      Margin="0" 
      Grid.Column="0" 
      Grid.Row="0"> 
     <TextBlock Margin="0.125,1.5,1,1.5" 
      VerticalAlignment="Center">Code:</TextBlock> 
     <TextBox x:Name="SearchCodeTextBox" 
      Padding="1,0,0,0" 
      Margin="1,1.5,0,1.5" 
      Width="44" 
      Text="{Binding Mode=TwoWay, Path=CurrentTabularViewModel.SearchCode}" 
      TextWrapping="Wrap" 
      KeyUp="SearchCodeTextBox_KeyUp" /> 
     <StackPanel Margin="2,0"           
      Height="20" 
      Background="{StaticResource CP_Blue2}"> 
      <TextBlock MinWidth="200" /> 
     </StackPanel> 
     <Button Margin="10,1,0,1" 
      Content="Add Code" 
      Height="20" /> 
    </StackPanel> 
    <StackPanel Orientation="Horizontal" 
      Margin="35,0,0,0" 
      Grid.Row="1" 
      Grid.Column="0"> 
     <Button Margin="0" 
      Width="24" 
      Content="<" 
      Height="20" 
      VerticalContentAlignment="Top" /> 
     <Button Margin="2,0" 
      Content="Tabular" 
      Height="20" 
      Width="Auto" 
      HorizontalAlignment="Stretch" 
      commands:Click.Command="{Binding Path=CurrentTabularViewModel.SearchCommand}" 
      commands:Click.CommandParameter="{Binding Path=SelectedSessionType}" /> 
     <Button Content=">" 
      Width="24" 
      Margin="2,0" 
      Height="20" /> 
     <Button Content="Instructional Notes" 
      Width="Auto" 
      Margin="30,0,2,0" 
      Height="20" /> 
    </StackPanel> 
</Grid> 

任意の考え?

+0

うわー...私はちょうどこれを試してみました。あなたは正しいです...背景なし! –

答えて

2

OKですので、こちらをご覧ください。少なくともSilverlightの部分ではないバグではありません!これは開発者側のバグです!

リソースで使用されているグラデーションをもっと見ると、最初の2つの16進値のみが変更されます(下記参照)。これは、もちろん、Alphaチャンネル、それに続くすべてのFと一緒に、私は透明度のレベルから別のレベルに移行しています。これは、より大きなページに注入されるのコンポーネントであるbecuase

<LinearGradientBrush x:Key="TestBrush" 
     EndPoint="0.5,1" 
     StartPoint="0.5,0"> 
    <GradientStop Color="#8DFFFFFF" 
       Offset="1" /> 
    <GradientStop Color="#E4FFFFFF" /> 
</LinearGradientBrush> 

さて、背景が大きなページで設定されています。 Blendの背景はBLENDの背景です。これは灰色で、Blendで灰色のグラデーションがあるように見えますが、さまざまなレベルの透明度を持つ単純な白です。コントロールが白い背景を持つメインページに注入されると、あなたはそれを見ることができません。

この話の道徳は何ですか?一緒に作業している色に注意してください!

関連する問題