<textblock> bug </textblock> </border>周围的属性<border>

时间:2014-08-12 09:12:45

标签: c# wpf xaml border textblock

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

<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>

我的问题是:即使我将border属性设置为第一个文本块,它也会应用到我的整个网格中,但我还没找到原因。

有人知道为什么吗?

先谢谢。 Florian SELVA

3 个答案:

答案 0 :(得分:4)

您尚未在Grid中定义任何行或列。它在技术上只有1列和1行,而您的Border适用于该单行/列,因此它似乎围绕整个Grid

由于您无论如何都要明确定位元素,请尝试将<Grid>替换为<Canvas>

答案 1 :(得分:2)

作为当前场景中的解决方法尝试这种方式,我已将展示位置属性移至边框而非基础文本块

<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 :(得分:0)

您要实现的目标是第一行有1个文本框,第二行有2个文本框。除非您要定义网格列和行,否则必须使用stackpanel和停靠面板

以下通过设置控制所有内容的网格宽度。如果你想在编辑和刷新之间留出空格,你需要改变的是停靠面板上的顶部边距,如Margin="0,20,0,0",如果你想在详细文本块和边框上留出空间,你应该放置一个{{1}在边框上,以防止任何内部接近值集。

Padding