2013-08-23 113 views
3

我在C#中開發了一個超鏈接按鈕。 hyperlinkBut​​ton中的下劃線刺激了我。我不知道如何刪除它。幫我刪除下劃線,我需要在C#中的答案。 [這是一個WP8應用]WP - 如何以編程方式刪除超鏈接下劃線的下劃線?

HyperlinkButton hyperlinkButton = new HyperlinkButton() 
    { 
     Content = "Click me", 
     HorizontalAlignment = HorizontalAlignment.Left, 
     NavigateUri = new Uri("http://my-link-com", UriKind.Absolute) 
    }; 
+0

你能發佈你所得到的代碼結果? –

+0

我不知道c#可以做到這一點,但CSS可以! – Nilesh

+0

你應用什麼風格? – RobertKenny

回答

2

我不知道另一種方式,但設置的ControlTemplate中XAML。但是你可以在C#中使用它:

var str = "<ControlTemplate TargetType=\"HyperlinkButton\" xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">" + 
      " <TextBlock HorizontalAlignment=\"{TemplateBinding HorizontalContentAlignment}\" Text=\"{TemplateBinding Content}\" VerticalAlignment=\"{TemplateBinding VerticalContentAlignment}\"/>" + 
      "</ControlTemplate>"; 

var template = (ControlTemplate)XamlReader.Load(str); 

HyperlinkButton hyperlinkButton = new HyperlinkButton() 
{ 
    Content = "Click me", 
    HorizontalAlignment = HorizontalAlignment.Left, 
    NavigateUri = new Uri("http://my-link-com", UriKind.Absolute), 
    Template = template 
}; 

希望這有助於

+0

'HyperlinkBut​​ton1.Template = template;'我應該在哪裏放置這個? –

+0

我改變了適合你的代碼 – Matt

+0

完美的作品。謝謝 –

6

引述Douglas Stockwell

您可以直接設置屬性,或使用風格:

<Style TargetType="{x:Type Hyperlink}"> 
    <Style.Triggers> 
     <Trigger Property="IsMouseOver" Value="True"> 
      <Setter Property="Foreground" Value="DarkSlateBlue" /> 
     </Trigger> 
    </Style.Triggers> 
    <Setter Property="Foreground" Value="SteelBlue" /> 
    <Setter Property="TextBlock.TextDecorations" Value="{x:Null}" /> 
</Style> 
+0

XAML中的這個答案。我需要在C#中的答案 –

+0

@ user2655873我不確定c#語法,但你應該能夠找到你的對象的'TextBlock'或'TextDecorations'屬性。 – gunr2171