使用文本框WPF XAML覆盖网格

本文关键字:XAML 覆盖 网格 WPF 文本 | 更新日期: 2023-09-27 18:27:02

我有一个带有一些文本块和按钮的应用程序,我正在尝试加载TextBlock,它将整个网格隐藏在后面,然后根据我的可见性绑定再次显示它。问题是,Loading文本不显示,但Main网格覆盖了所有按钮和东西后面的网格。有没有合适的热方法?

注意:如果没有Loading TextBlock,它通常只使用一个矩形来隐藏/显示我的应用程序。

我的代码如下:

<Grid Margin="2" Background="Black">
<Border BorderThickness="2" BorderBrush="Black">
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="LOADING..." Visibility="{Binding DownloadingWeather, Converter={StaticResource boolToVisibilityConverter}, ConverterParameter=False}" FontSize="20" Foreground="White">
    <Grid Visibility="{Binding DownloadingWeather, Converter={StaticResource boolToVisibilityConverter}, ConverterParameter=True}">
        <Grid.Background>
            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                <GradientStop Color="Gray" Offset="0.0" />
                <GradientStop Color="Black" Offset="0.5" />
                <GradientStop Color="Black" Offset="0.7" />
                <GradientStop Color="Gray" Offset="1.0" />
            </LinearGradientBrush>
        </Grid.Background>
        <Grid Grid.Row="4">
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <!-- Some Stuff like buttons and textblocks here-->
        </Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="3*" />
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <!-- Some Stuff like buttons and textblocks here-->
    </Grid>
    </TextBlock>
</Border>
</Grid>

使用文本框WPF XAML覆盖网格

目前GridTextBlock的一部分。因为Border只能带一个子级,所以您需要创建一个同时包含TextGridGrid,以便只显示

<Border>
    <Grid>
        <TextBlock ... Text="LOADING..." Visibility="{Binding DownloadingWeather, Converter={StaticResource boolToVisibilityConverter}, ConverterParameter=False}"/>
        <Grid Visibility="{Binding DownloadingWeather, Converter={StaticResource boolToVisibilityConverter}, ConverterParameter=True}">
            <!-- Grid content -->
        </Grid>
    </Grid>
</Border>