1

シェイプとテキストを格納しているキャンバス コントロールがあります。

<Canvas x:Name="myCanv">
  <Rectangle x:Name="myRect" Stroke="Gray" Fill="Blue" StrokeThickness="3" Width="675" Height="350"/>
  <TextBlock x:Name="myText"/>
</Canvas>

私のコード ビハインドでは、イベントが発生するとテキストを変更します。テキストを「myRect」の中央に配置するのが適切だと思いました。

MultiBinding Converters を使用して、WPF アプリでキャンバス コントロールのテキストを中央に配置する方法に関する素晴らしいブログ投稿を見つけました。それを読んだ後、私はWP7のためにそれを試してみましたが、痛みに遭遇しました!

残念ながら、Silverlight 4 (WP7 Silverlight はそのサブセット) には MultiBinding Converters がないようです。その後、SL4 の MbC のコードを含むブログを見つけましたが、VS2010 Express でプロジェクトを開くことができません。


A)値コンバーターを介してテキストを中央に配置するか

B)値コンバーターを使用せずにテキストを中央に配置するより良い方法を見つけた人はいますか

...?:)

4

2 に答える 2

2

代わりにa を使用するBorderと、TextBlock の Horizo​​ntal および Vertical Alignment プロパティを Center に簡単に設定できます。

<Border BorderBrush="Gray" Background="Blue" BorderThickness="3" Width="675" Height="350">
    <TextBlock Text="Hello" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
于 2010-11-18T09:14:27.050 に答える
1

ビジュアルツリーのキャンバスの外側にテキストボックスを配置することもできますが、絶対に同じサイズと場所に配置してください。次に、テキストがキャンバスの中央に表示されるように、テキストブロックの水平方向と垂直方向の配置を設定できます。

于 2010-11-19T12:47:13.043 に答える