首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >透明TextBlock与DockPanel

透明TextBlock与DockPanel
EN

Stack Overflow用户
提问于 2015-04-17 13:56:03
回答 1查看 263关注 0票数 0

我想要创建一个启动屏幕,其中图像和加载状态(带有进度条的文本块)位于另一个屏幕的顶部。

我写了下一段代码:

代码语言:javascript
复制
<Window 
        WindowStyle="None" ResizeMode="NoResize"
         d:DesignHeight="300" d:DesignWidth="300">
<DockPanel LastChildFill="True">
    <Grid DockPanel.Dock="Bottom" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <TextBlock Text="{Binding Text}" Grid.Row="0" Background="Transparent"/>
        <ProgressBar Maximum="100" Value="{Binding ProgressValue, Mode=OneWay}" Height="5" Grid.Row="1" IsIndeterminate="{Binding IsIndeterminate}"/>
    </Grid>
    <Image Source="{Binding ImageSource}" Stretch="None"/>
</DockPanel>

不幸的是,TextBlock仍然删除了它位于顶部的图片的某些部分。我认为原因是DockPanel,但我不知道如何做其他方式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-17 14:08:02

TextBlock不移除Image的一部分,因为它不在它上面,而是在它下面。这是因为DockPanel没有把孩子们放在一起。如果您想将内部Grid放在Image之上,那么最简单的解决方案是用Grid替换DockPanel

代码语言:javascript
复制
<Grid>
    <Image Source="{Binding ImageSource}" Stretch="None" />
    <Grid Background="Transparent" VerticalAlignment="Bottom">
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>            
        <TextBlock Text="{Binding Text}" Grid.Row="0"/>
        <ProgressBar Maximum="100" Value="{Binding ProgressValue, Mode=OneWay}" Height="5" Grid.Row="1" IsIndeterminate="{Binding IsIndeterminate}"/>            
    </Grid>
</Grid>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29701283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档