Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF XAML-行根本不显示_Wpf_Xaml - Fatal编程技术网

WPF XAML-行根本不显示

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

我制作了一个简单的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.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>