2011-06-17 6 views
2

---- or ----と似た効果があります。ただし、以下のコードはストライクスルー効果を作成しています。 Grid.ZIndexを設定すると問題は解決すると思っていましたが、何もしていないようです。同様の効果でストライクを達成する方法

<Grid> 
    <TextBlock Text="or" FontSize="22" Height="34" Grid.ZIndex="2" HorizontalAlignment="Center" /> 
    <Line Stretch="Fill" Stroke="Black" X1="1" Margin="0 4 0 -1" SnapsToDevicePixels="True" Grid.ZIndex="1" Height="34" /> 
</Grid> 

TextBlockコントロールの背景を設定すると、すべて正常に動作します。しかし、私が望むのは、デフォルトの灰色の背景を使用することです(例えば、背景を設定しないなど)。

どうすればこの問題を解決できますか?

+0

ないあなたはそれが取り消しでない場合は達成しようとしているのかわからを使用することをお勧めします。ダッシュはどういう意味ですか? –

+0

ダッシュは直線であるはずです。私はそれをより良く伝える方法がわからない。それは本質的にコントロール全体のストライキですが、テキストそのものではありません。 – gcso

答えて

2

解決策は実際には非常に簡単でした。

<Grid> 
    <TextBlock Text="or" FontSize="22" Height="34" HorizontalAlignment="Center" Background="{Binding Path=Background, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}" /> 
    <Line Stretch="Fill" Stroke="Black" X1="1" Margin="0 4 0 -1" SnapsToDevicePixels="True" Height="34" Grid.ZIndex="-99" /> 
</Grid> 
9

それはTextDecorations

<TextBlock> 
    <TextBlock.TextDecorations> 
     <TextDecoration Location="Strikethrough"> 
      <TextDecoration.Pen> 
       <Pen Brush="Red" /> 
      </TextDecoration.Pen> 
     </TextDecoration> 
    </TextBlock.TextDecorations> 
    Strike through 
</TextBlock> 
関連する問題