我正在尝试将渐变背景和圆角添加到网格中。我有渐变但我不能让圆角工作。这将是一个状态显示弹出窗口,因此它背后的想法。还有更好的方法来设置渐变吗?
<UserControl x:Class="TestWPFStatusDisplay.StatusDisplayDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:gif="http://wpfanimatedgif.codeplex.com"
mc:Ignorable="d"
d:DesignHeight="154" d:DesignWidth="391">
<Grid>
<Border Name="mask" Background="White" CornerRadius="7"/>
<Grid.OpacityMask>
<VisualBrush Visual="{Binding ElementName=mask}"/>
</Grid.OpacityMask>
<Grid.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#ECF5FF" Offset="0"/>
<GradientStop Color="#9CB0CA" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label HorizontalAlignment="Center" Grid.Row="0" Content="Words"/>
<Image Grid.Row="1" gif:ImageBehavior.AnimatedSource= "Images/GeoCartaLoading.gif" Width="125" Height="50" Margin="25,3,0,0"/>
<Label Grid.Row="2" Content="Words"/>
<ProgressBar Grid.Row="3" Name="pb" Maximum="60" />
</Grid>
答案 0 :(得分:2)
<Border CornerRadius="25" BorderBrush="Black" BorderThickness="1">
<Grid>
<Button HorizontalAlignment="Center" VerticalAlignment="Center" Content="content"/>
</Grid>
</Border>
答案 1 :(得分:1)
这将在您的网格周围创建一个边角半径(并使用渐变画笔):
<Border CornerRadius="3">
<Border.Background>
<LinearGradientBrush>
<!-- Your gradient stops would go here -->
</LinearGradientBrush>
</Border.Background>
<Grid>
<!-- Your grid goes here -->
</Grid>
<Border>