C# TextBlock边框使TextBlock移动到另一个位置
我正在尝试向TextBlock添加边框,并将其包装到边框块中。 但这会使TextBlock移动到另一个窗口位置。同样的情况也会发生 如果文本块被包装到网格中C# TextBlock边框使TextBlock移动到另一个位置,c#,wpf,xaml,C#,Wpf,Xaml,我正在尝试向TextBlock添加边框,并将其包装到边框块中。 但这会使TextBlock移动到另一个窗口位置。同样的情况也会发生 如果文本块被包装到网格中 <Border BorderBrush="#FF0B232F" BorderThickness="2" > <TextBlock Background="#FFCDCD5A" Grid.Column="4" Grid.Row="2" TextWrapping
<Border BorderBrush="#FF0B232F" BorderThickness="2" >
<TextBlock
Background="#FFCDCD5A"
Grid.Column="4"
Grid.Row="2"
TextWrapping="Wrap"
Width="214.8"
Height="261.4" >
</Border>
更新
这个文本块的问题是它跨越了几个网格行
首先,我按照丹尼尔·马尔克斯的建议做了。
我还必须在边界定义中添加以下内容:
水平对齐=右垂直对齐=底部对齐
和Grid.RowSpan
此外,我还必须删除TextBlock边距。这是因为当您将TextBlock放在标记之间时,实际上是在说TextBlock是边框的“子项”。这意味着文本块将被边框包围。因此,合理地假设TextBlock将跟随周围的边界。无论边界位于何处,它都将显示在边界内 您需要设置边框的位置,而不是文本块,以使其显示在您希望的位置:
<Border Grid.Column="4" Grid.Row="2" BorderBrush="#FF0B232F" BorderThickness="2" >
<TextBlock
Background="#FFCDCD5A"
TextWrapping="Wrap"
Width="214.8"
Height="261.4" />
</Border>
不适用于我,可能是因为我的文本块跨越多个网格行。我已经指定了网格行跨度,但结果是相同的。您想让textblock跨多行,但它不起作用?同样,您需要设置边框的Grid.RowSpan,该边框是TextBlock的父级,而不是TextBlock本身的父级。