2011-05-03 117 views
0

我有一个按钮控件,我想要添加图像以及超链接属性,即它应该是一个图像按钮与其他来源的链接。我试图WPF链接按钮

<Button Click="OnNavigationRequest" ToolTip="Orkut"> 
    <Image Source="C:\Documents and Settings\SaurabhS\My Documents\Visual Studio 2008 \Projects\SaurabhSinhaDemos\WPF_Zone\AddressBook\AddressBook\images\orkut.jpeg"/> 
    <Hyperlink NavigateUri="http://www.orkut.com">Orkut</Hyperlink> 
</Button> 

,并在后面的代码:

AddHandler(Hyperlink.RequestNavigateEvent, 
      new RoutedEventHandler(OnNavigationRequest)); 

public void OnNavigationRequest(object sender, RoutedEventArgs e) 
     { 
      var source = e.OriginalSource as Hyperlink; 
      if (source != null) 
       Process.Start(source.NavigateUri.ToString()); 
     } 

但得到了以下错误:

content set more than once...

我应该怎么办呢?

+0

您还没有给我们提供完整的XAML代码。您引用的错误消息指出,您的XAML代码中存在错误,其中只有一个子元素的元素中有多个子元素。请发布完整的XAML代码。 – 2011-05-03 10:48:37

回答

0

尝试以下

<Button> 
    <StackPanel Orientation="Horizantal"> 
     <Image Source="path to the image"/> 
     <Hyperlink NavigateUri="http://www.orkut.com"/> 
    </StackPanel> 
    </Button> 
0

在你的代码中,Button元素包含两个子元素。 Button元素只能带一个子元素。

ImageHyperlink换成StackPanel或其他布局容器,并且错误将消失(请参阅Int3的示例答案)。

+0

谢谢..它工作.. !!! – 2011-05-03 11:04:20