2017-04-04 6 views
-1

TextBlockに枠線を追加して、枠線ブロックに折り返します。 しかし、それによってTextBlockは別のウィンドウの場所に移動します。 TextBlockがグリッドにラップされている場合は、同じことが に発生します。TextBlock borderによってTextBlockが別の場所に移動します

<Border BorderBrush="#FF0B232F" BorderThickness="2" > 
<TextBlock 
     Background="#FFCDCD5A" 
     Grid.Column="4" 
     Grid.Row="2" 
     TextWrapping="Wrap" 
     Width="214.8" 
     Height="261.4" > 
</Border> 

UPDATE

それはいくつかのグリッド行をスパンしているこのTextBlockのに問題。

まず、私はダニエル・マルケスの提案をしました。 私はまた、ボーダー定義に次のものを追加しなければなりませんでした: Horizo​​ntalAlignment = "Right" VerticalAlignment = "Bottom" とGrid.RowSpan。

また、TextBlockマージンを削除する必要がありました。

答えて

2

これは、マークアップの間にTextBlockを配置すると、実際にTextBlockが境界の「子」であると言っているからです。つまり、TextBlockは境界線で囲まれます。したがって、TextBlockがBorderの周りに「追従」すると想定するのは理にかなっています。ボーダーがどこにあっても、ボーダーの「内側」に表示されます。

あなたはそれをみたい場所、それが表示されるのボーダーの場所の代わりの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> 
+0

。私はグリッド行スパンを指定しましたが、結果は同じです。 – LetzerWille

+0

あなたのテキストブロックを複数の行にまたがって動作させたいのですか?もう一度、TextBlock自体ではなく、TextBlockの親であるBorderのGrid.RowSpanを設定する必要があります。 –

関連する問題