首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >属性<Border>在<TextBlock> bug周围

属性<Border>在<TextBlock> bug周围
EN

Stack Overflow用户
提问于 2014-08-12 09:12:44
回答 3查看 323关注 0票数 0

我来这里是因为我有个小问题。我想在我的文本块周围添加一个边框。这是我的当前脚本(xaml):

代码语言:javascript
复制
<Grid>
    <Border Visibility="Visible" Width="1000" BorderBrush="Blue" BorderThickness="1">
        <TextBlock HorizontalAlignment="Left" Visibility="Visible" Foreground="Blue" TextAlignment="Center" FontSize="20" Margin="10,10,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="28.96" Width="980"><Run Language="fr-fr" Text="Fiche détails de la capitalisation"/></TextBlock>
    </Border>
    <TextBlock HorizontalAlignment="Left" Margin="10,49.05,0,0" TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="fr-fr" Text="édité le:"/></TextBlock>
    <TextBlock HorizontalAlignment="Left" Margin="390,49.05,0,0" TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="fr-fr" Text="Rafraichissement des données:"/></TextBlock>
</Grid>

我的问题是:即使我将边框属性设置为第一个文本块,它也被应用到我的整个Grid中,而且我还没有找到原因。

有人知道为什么吗?

提前谢谢。弗洛里安·塞尔瓦

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-12 10:37:05

您正在尝试实现的是第一行的一个文本框和第二行的两个文本框。除非要定义网格列和行,否则必须使用堆栈面板和停靠面板。

下面通过设置网格宽度来控制一切。如果您想在编辑和刷新之间填充空间,只需更改一个与Margin="0,20,0,0"类似的停靠面板上的顶部区域;如果您希望在详细文本块和边框上留有空间,则应该在边框上放置一个Padding,以防止内部的任何内容接近值集。

代码语言:javascript
复制
<Grid Width="500">
        <StackPanel>
            <Border BorderBrush="Blue" BorderThickness="1">
                <TextBlock Foreground="Blue" TextAlignment="Center" FontSize="20" TextWrapping="Wrap"><Run Language="fr-fr" Text="Fiche détails de la capitalisation"/></TextBlock>
            </Border>
            <DockPanel LastChildFill="True">
                <TextBlock TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="fr-fr" Text="édité le:"/></TextBlock>
                <TextBlock TextWrapping="Wrap" VerticalAlignment="Top" HorizontalAlignment="Right"><Run Language="fr-fr" Text="Rafraichissement des données:"/></TextBlock>
            </DockPanel>
        </StackPanel>
    </Grid>
票数 0
EN

Stack Overflow用户

发布于 2014-08-12 09:17:53

您还没有在Grid中定义任何行或列。从技术上讲,它只有1列和1行,您的Border适用于该单行/列,因此它似乎包围了整个Grid

由于您无论如何都在显式地定位元素,所以尝试用<Grid>替换<Canvas>

票数 4
EN

Stack Overflow用户

发布于 2014-08-12 09:21:53

作为当前场景中的一个解决方案,请尝试这样做,我已经将放置属性移到了边框,而不是底层文本块。

代码语言:javascript
复制
<Grid>
    <Border Visibility="Visible" BorderBrush="Blue" BorderThickness="1" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Height="28.96" Width="980">
        <TextBlock Visibility="Visible" Foreground="Blue" TextAlignment="Center" FontSize="20" TextWrapping="Wrap"><Run Language="fr-fr" Text="Fiche détails de la capitalisation"/></TextBlock>
    </Border>
    <TextBlock HorizontalAlignment="Left" Margin="10,49.05,0,0" TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="fr-fr" Text="édité le:"/></TextBlock>
    <TextBlock HorizontalAlignment="Left" Margin="390,49.05,0,0" TextWrapping="Wrap" VerticalAlignment="Top"><Run Language="fr-fr" Text="Rafraichissement des données:"/></TextBlock>
</Grid>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25260417

复制
相关文章

相似问题

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