#wpf-controls
#wpf-элементы управления
Вопрос:
У меня есть элемент управления кнопкой, к которому я хочу добавить изображение, а также свойство гиперссылки, то есть это должна быть кнопка изображения со ссылкой на другой источник. Я пытался
<Button Click="OnNavigationRequest" ToolTip="Orkut">
<Image Source="C:Documents and SettingsSaurabhSMy DocumentsVisual Studio 2008 ProjectsSaurabhSinhaDemosWPF_ZoneAddressBookAddressBookimagesorkut.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());
}
Но получил следующую ошибку:
содержимое устанавливается более одного раза…
Как я должен это сделать?
Комментарии:
1. Вы не предоставили нам полный код XAML. В сообщении об ошибке, которое вы цитируете, говорится, что в вашем коде XAML имеется ошибка, из-за которой в элементе имеется более одного дочернего элемента, который может принимать только один дочерний элемент. Пожалуйста, опубликуйте полный код XAML.
Ответ №1:
В вашем коде Button
элемент содержит два дочерних элемента. Button
Элемент может принимать только один дочерний элемент.
Оберните Image
и Hyperlink
в StackPanel
или какой-либо другой контейнер макета, и ошибка исчезнет (см. Пример ответа Int3).
Ответ №2:
Попробуйте выполнить следующее
<Button>
<StackPanel Orientation="Horizantal">
<Image Source="path to the image"/>
<Hyperlink NavigateUri="http://www.orkut.com"/>
</StackPanel>
</Button>