Сделать текстовый блок silverlight действовать как гиперссылка - PullRequest
4 голосов
/ 02 июля 2010

Я довольно новичок в Silverlight.У меня есть текстовый блок, который отображается внутри сетки данных (если быть точным, внутри шаблона DataGridTemplateColumn.CellTemplate).

Я хотел бы динамически преобразовать некоторые текстовые блоки в гиперссылки, которые открывают новое окно.

Есть ли способ сделать это - пока все, что я могу придумать, - это использовать кнопку гиперссылки и пытаться оформить ее так, чтобы она выглядела как текстовый блок.

Любая помощь будет очень признательна.

1 Ответ

2 голосов
/ 03 июля 2010

HyperlinkButton - это ContentControl, поэтому он может использовать какой-либо предварительно стилизованный TextBlock (или другой элемент управления) в качестве своего содержимого (вместо того, чтобы просто использовать простую строку в качестве Content).

<HyperlinkButton NavigateUri="http://myurl.com">
    <TextBlock Text="My Link Text" Foreground="Black" />
</HyperlinkButton>

Вы бынеобходимо использовать пользовательский шаблон HyperlinkButton, если вы хотите стилизовать его, чтобы избавиться от кольца фокуса, окрашенного в цвет чирок по умолчанию, и т. д. Можно также установить для свойства IsEnabled объекта HyperlinkButton значение false, чтобы предотвратить поведение ссылок в любых ячейках, которые на самом деле не былиссылки, если вы пытаетесь настроить их каким-либо динамическим способом.

...