WPF XAML-行根本不显示
我制作了一个简单的UI,希望在其中为WPF XAML-行根本不显示,wpf,xaml,Wpf,Xaml,我制作了一个简单的UI,希望在其中为网格行的底部创建一个边框。我使用行瞄准了一个目标,如下所示: <Window x:Class="HP_hf_shop.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.m
网格
行的底部创建一个边框。我使用行
瞄准了一个目标,如下所示:
<Window x:Class="HP_hf_shop.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:HP_hf_shop"
mc:Ignorable="d"
Title="MainWindow" Height="500" Width="800"
>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2*"/>
<RowDefinition Height="10*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2.5*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Border Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" VerticalAlignment="Bottom"
Margin="10,0,10,0">
<Border.Background>
<LinearGradientBrush StartPoint="0,1" EndPoint="1,1">
<GradientStop Color="DarkGray" Offset="0.05"/>
<GradientStop Color="Gray" Offset="0.15"/>
<GradientStop Color="Gray" Offset="0.85"/>
<GradientStop Color="DarkGray" Offset="0.95"/>
</LinearGradientBrush>
</Border.Background>
</Border>
<Button Grid.Row="1" Grid.Column="0" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Margin="10,30,10,10">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="5*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
</Grid>
</Button>
<Button Grid.Row="1" Grid.Column="1" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Margin="10,10,10,10">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="5*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
</Grid>
</Button>
<Button Grid.Row="1" Grid.Column="2" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" Margin="10,30,10,10">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="5*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
</Grid>
</Button>
</Grid>
我试着用一种纯色来代替我在这里设置的画笔,我确保当我高亮显示线条本身时,高亮显示确实有一个覆盖范围(它显示为一个矩形,而不是一条线,所以它应该是可见的)。
请注意,我没有使用画布
。该行位于网格上,带有一些按钮。你知道为什么这行代码根本不显示,甚至在运行时也不显示吗
你知道为什么这行代码根本不显示,甚至在运行时也不显示吗
您需要为要绘制的水平线设置线的X1
和X2
属性:
<Line Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" VerticalAlignment="Bottom"
HorizontalAlignment="Stretch" StrokeThickness="10" Margin="10,0,10,0"
X1="0" X2="100">
<Line.Stroke>
<LinearGradientBrush StartPoint="0,1" EndPoint="1,1">
<GradientStop Color="DarkGray" Offset="0.05"/>
<GradientStop Color="Gray" Offset="0.15"/>
<GradientStop Color="Gray" Offset="0.85"/>
<GradientStop Color="DarkGray" Offset="0.95"/>
</LinearGradientBrush>
</Line.Stroke>
</Line>
这真的奏效了。现在,如何将X2添加到行的末尾(设置为拉伸)?我复制粘贴了代码,代码运行但也没有出现:/所以行显示了,但没有边框?请发布您的完整XAML标记,包括网格。是的,您的行解决方案完成了,但边框没有。代码更新了运气好吗?我试着在我这边胡闹,但没用
<Border Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" VerticalAlignment="Bottom"
Margin="10,0,10,0">
<Border.Background>
<LinearGradientBrush StartPoint="0,1" EndPoint="1,1">
<GradientStop Color="DarkGray" Offset="0.05"/>
<GradientStop Color="Gray" Offset="0.15"/>
<GradientStop Color="Gray" Offset="0.85"/>
<GradientStop Color="DarkGray" Offset="0.95"/>
</LinearGradientBrush>
</Border.Background>
<TextBlock />
</Border>