Каковы конкретные примеры использования пространств имен Silverlight / XAML? - PullRequest
1 голос
/ 25 января 2009

В Silverlight / XAML у вас есть такие пространства имен, как:

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 

и поэтому элементы имеют атрибуты пространства имен, такие как:

<TextBlock x:Name="theMessage" Margin="10">Testing...</TextBlock>

Когда это принесет мне пользу? Буду ли я в какой-то момент создать другое пространство имен, например:

xmlns:edward="http://www.tanguay.info/web" 

чтобы я мог добавить свои собственные теги атрибутов имен, например ::

<TextBlock x:Name="theMessage" edward:Name="secondName" Margin="10">Testing...</TextBlock>

А потом каким-то образом обработать оба тега имени и т. Д .?

1 Ответ

1 голос
/ 25 января 2009

XAML - это язык разметки на основе XML, поэтому вы можете использовать пространство имен. Основной целью этого подхода является организация вашей работы в меньшие единицы и поддержание разногласий между ними. Это тот же принцип, который работает с обычными пространствами имен в .NET (или других языках программирования). Обычно в XAML вы используете

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

пространство имен для адресации базовых элементов управления (помните, что это просто строка, а не адрес, указывающий фактически на веб-сайт). Кроме этого, обычно можно найти ссылку на другие пространства имен, используемые для подключения к другим сборкам (сторонним или вашим), содержащим бизнес-логику или другие объекты XAML.

xmlns:demo="clr-namespace:MyNamespace;assembly=MyNamespace.Lib"

и в вашем XAML есть что-то вроде этого

<Grid>
      <demo:MyCustomControl />
</Grid>

Где MyCustomControl - это элемент управления, определенный в сборке MyNamespace.Lib.

РЕДАКТИРОВАТЬ: только что вспомнил, что если вы хотите сохранить XAML-подобный синтаксис в ссылках на пространство имен, вы можете создать для них псевдоним в форме uri. Проверьте этот пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...