2010-06-01 28 views
14

我需要在WPF CheckBox中應用TextWrapping帶有TextWrapping的WPF CheckBox樣式

請看看這兩個樣本:

<CheckBox> 
    <TextBlock TextWrapping="Wrap" 
      Text="_This is a long piece of text attached to a checkbox."/> 
</CheckBox> 

<CheckBox> 
    <AccessText TextWrapping="Wrap" 
       Text="_This is a long piece of text attached to a checkbox."/> 
</CheckBox> 

如果我在CheckBox,檢查元素(垂直對齊頂部)和文本顯示正常,但沒有加速的Content使用TextBlock

alt text

如果我在CheckBoxContent使用AccessText,單向元件顯示錯誤(垂直取向是中央)。

如何更改Style的元素以正確顯示此CheckBox

+3

一個人的垃圾是另一個人的寶藏。我想弄清楚如何使我的檢查元素垂直居中關於文本,因爲VerticalAlignment和VerticalContentAlignment不起作用。答:我只需要使用AccessText而不是TextBlock! +1提示:) – Qwertie 2011-08-02 21:22:24

+0

不客氣。但我在這裏的問題仍然存在...... – 2011-08-02 23:54:20

回答

13

如果將兩者結合起來,您可能會得到所需的效果。

<CheckBox> 
    <TextBlock> 
     <AccessText TextWrapping="Wrap" 
        Text="_This is a long piece of text attached to a checkbox."/> 
    </TextBlock> 
</CheckBox> 
+0

似乎它不適用於3.5sp1 – 2010-06-01 15:12:17

+0

我試過了,它不起作用。您可以使用例如XamlPad非常快地嘗試它。 – 2010-06-02 09:19:42

0

Havew您嘗試設置一個隱含的作風爲AccessText,或只是一個AccessText風格,你可以申請?

這裏有一個隱含的風格,將工作:

<Style x:Key="{x:Type AccessText}" 
    TargetType="{x:Type AccessText}" 
    BasedOn="{x:Null}"> 
    <Setter Property="Foreground" Value="Black"/> 
    <Setter Property="FontFamily" Value="Segoe UI"/> 
    <Setter Property="FontSize" Value="12"/> 
    <Setter Property="TextTrimming" Value="CharacterEllipsis"/> 
    <Setter Property="TextWrapping" Value="NoWrap"/> 
    <Setter Property="OverridesDefaultStyle" Value="True"/> 
    <Setter Property="VerticalAlignment" Value="Top"/> 
    <Setter Property="Margin" Value="5,2"/> 
    <Setter Property="Text" Value="AccessText"/> 
    <Style.Triggers> 
     <Trigger Property="IsEnabled" Value="False"> 
      <Setter Property="Foreground" Value="Gray"/> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

如果包含此項目中的AccessText應該工作,你想要的方式。如果你需要別的東西,請調整風格。

如果您不希望所有AccessTexts表現這種方式,命名風格和運用它,你使用它:

<CheckBox>   
    <AccessText TextWrapping="Wrap" Style="{DynamicResource CkbxAccessTextStyle}"   
       Text="_This is a long piece of text attached to a checkbox."/>   
</CheckBox> 
+0

不幸的沒有像TextBlock那樣工作。 – 2010-11-24 12:47:12