2012-10-10 93 views
0
<Hyperlink Command="{Binding Path=Source1}"> 
    <TextBlock x:Name="DescriptionText" TextWrapping="Wrap"> 
     <TextBlock.Style> 
      <Style> 
       <Setter Property="TextBlock.Text" Value="Click here to set Source1"/>    
       <Style.Triggers> 
        <DataTrigger Binding="{Binding Path=IsActive}" Value="False"> 
         <Setter Property="TextBlock.Text" Value="{Binding Path=Source1Des, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/> 
        </DataTrigger> 
       </Style.Triggers> 
      </Style> 
     </TextBlock.Style> 
    </TextBlock> 
</Hyperlink> 

我只需要在下劃線上修剪文本。它怎麼樣?帶有樣式的WPF超鏈接中的文本換行

回答

1

使用運行,而不是一個TextBlock

<TextBlock TextWrapping="Wrap"> 
     <Hyperlink Command="{Binding Path=Source1}"> 
      <Run> 
       <Run.Style> 
        <Style TargetType="Run"> 
         <Style.Triggers> 
          <Trigger Property="IsMouseOver" Value="True"> 
           <Setter Property="Text" Value="My mouse is over" /> 
          </Trigger> 
         </Style.Triggers> 
         <Setter Property="Text" Value="Click here to set Source1" /> 
        </Style> 
       </Run.Style> 
      </Run> 
     </Hyperlink> 
    </TextBlock> 

又見this stackoverflow thread

+0

我知道如何與運行標籤做到這一點,但如何在DataTrigger二傳手使用它? – Butsaty

+0

我改變了我的代碼。我插入了一個觸發器IsMouseOver作爲示例。 – Klaus78

+0

謝謝!它效果很好。 – Butsaty