Кнопка ссылки WPF - PullRequest
0 голосов
/ 03 мая 2011

У меня есть элемент управления кнопки, к которому я хочу добавить изображение, а также свойство гиперссылки, то есть это должна быть кнопка изображения со ссылкой на другой источник.Я попытался

<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());
      }

Но получил следующее сообщение об ошибке:

содержимое установлено несколько раз ...

Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 03 мая 2011

В вашем коде элемент Button содержит два дочерних элемента.Элемент Button может принимать только один дочерний элемент.

Обтекание Image и Hyperlink в StackPanel или каком-либо другом контейнере макета, и ошибка исчезнет (например, см. Ответ Int3).

0 голосов
/ 03 мая 2011

Попробуйте следовать

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