【问题标题】:LinearGradientBrush to Transparency shows white backgroundLinearGradientBrush to Transparency 显示白色背景
【发布时间】:2018-09-13 13:20:57
【问题描述】:

我有一个background 颜色为#424242 和一个ListBox 和一些内容..

我想在控件顶部有一个从 #424242Transparent 的 LinearGradientBrush。问题是,我得到了白色背景色:

如果我将Transparent 替换为#00000000,我的颜色会更深/黑色:

XAML 代码

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="136*"/>
            <RowDefinition Height="203*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <StackPanel Orientation="Vertical" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Center">
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
            <TextBlock Text="Transparent to #424242"></TextBlock>
        </StackPanel>
        <Rectangle Grid.Column="0" Grid.Row="0">
            <Rectangle.Fill>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="Transparent" Offset="0"/>
                    <GradientStop Color="#424242" Offset="1"/>
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>

        <StackPanel Orientation="Vertical" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Center">
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
            <TextBlock Text="#00000000 to #424242"></TextBlock>
        </StackPanel>
        <Rectangle Grid.Column="1" Grid.Row="0">
            <Rectangle.Fill>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#00000000" Offset="0"/>
                    <GradientStop Color="#424242" Offset="1"/>
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>

        <StackPanel Orientation="Vertical" Grid.Column="2" Grid.Row="0" HorizontalAlignment="Center">
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
            <TextBlock Text="Hello World"></TextBlock>
        </StackPanel>
        <Rectangle Grid.Column="2" Grid.Row="0" Opacity="0">
            <Rectangle.Fill>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#424242" Offset="0"/>
                    <GradientStop Color="#424242" Offset="1"/>
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>
    </Grid>
</Grid>

【问题讨论】:

    标签: c# wpf expression-blend


    【解决方案1】:

    我有答案:只需使用与 Alpha 0% 相同的颜色

    <Rectangle.Fill>
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="#FF424242" Offset="1"/>
            <GradientStop Color="#00424242"/>
        </LinearGradientBrush>
    </Rectangle.Fill>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-27
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-17
      • 1970-01-01
      相关资源
      最近更新 更多