我来这里是因为我有个小问题。我想在我的文本块周围添加一个边框。这是我的当前脚本(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>我的问题是:即使我将边框属性设置为第一个文本块,它也被应用到我的整个Grid中,而且我还没有找到原因。
有人知道为什么吗?
提前谢谢。弗洛里安·塞尔瓦
发布于 2014-08-12 10:37:05
您正在尝试实现的是第一行的一个文本框和第二行的两个文本框。除非要定义网格列和行,否则必须使用堆栈面板和停靠面板。
下面通过设置网格宽度来控制一切。如果您想在编辑和刷新之间填充空间,只需更改一个与Margin="0,20,0,0"类似的停靠面板上的顶部区域;如果您希望在详细文本块和边框上留有空间,则应该在边框上放置一个Padding,以防止内部的任何内容接近值集。
<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>发布于 2014-08-12 09:17:53
您还没有在Grid中定义任何行或列。从技术上讲,它只有1列和1行,您的Border适用于该单行/列,因此它似乎包围了整个Grid。
由于您无论如何都在显式地定位元素,所以尝试用<Grid>替换<Canvas>。
发布于 2014-08-12 09:21:53
作为当前场景中的一个解决方案,请尝试这样做,我已经将放置属性移到了边框,而不是底层文本块。
<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>https://stackoverflow.com/questions/25260417
复制相似问题