我在这里是因为我有一点问题。我想在文本块周围添加边框。这是我当前的脚本(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
答案 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