2014-01-26 22 views
0

我可以創建一個文本C#超級鏈接...包裝一個圖像的HyperlinkBut​​ton在C#

HyperlinkButton sunday_title = new HyperlinkButton(); 
sunday_title.Content = "Sunday (" + sunday.ToUpper() + ")"; 
sunday_title.Click += sunday_link_Click; 

但我怎麼創建一個圖形的超鏈接?我的第一個想法是將圖像用作孩子,但這似乎不可能。

下面是C#代碼來創建圖形...

Image sunday_image = new Image(); 
sunday_image.Source = background_flcb; 
Border sunday_border = new Border(); 
sunday_border.Child = sunday_image; 

最後,我想打一個整體grid一個鏈接(但我不認爲這是可能的)。不過,目前,只要將圖像鏈接起來,我就會很開心。

Similar questions已解決,但大多數答案都是使用XAML。我想用c#來做。

如果它有所不同,這是爲Windows 8應用程序(儘管相同的邏輯應適用於Windows Phone應用程序)。

回答

1

在大多數情況下,XAML可以輕鬆轉換爲C#代碼。例如,來自類似的問題鏈路高於此XAML溶液(簡化):

<HyperlinkButton> 
    <HyperlinkButton.Background> 
     <ImageBrush ImageSource="SplashScreenImage.jpg"/> 
    </HyperlinkButton.Background> 
</HyperlinkButton> 

相當於以下C#代碼:

var hyperlinkButton = new HyperlinkButton(); 
hyperlinkButton.Background = new ImageBrush{ImageSource = background_flcb}; 

從同一鏈路Other suggested approach,是簡單地使用Image控制並處理它的點擊/點擊事件導航到鏈接目的地:

​​

無論如何,我不知道這些方法是否也適用於Windows 8。試試吧。祝你好運。

+0

你不能在Windows 8中執行'sunday_image.Click',顯然(不是在Visual Studio給出的列表中。 – doubleJ

+0

粘貼你的'新的ImageBrush'代碼會產生這個錯誤......'不能隱式轉換類型'System。 Uri'改爲'Windows.UI.Xaml.Media.ImageSource'' – doubleJ

+0

嘗試將新Uri(...)更改爲background_flcb,就像您在問題中使用的一樣。顯然8中的ImageSource有不同的參數 – har07

相關問題