круглые скобки в синтаксисе xaml - PullRequest
7 голосов
/ 09 января 2011

когда я использую ColorAnimation для изменения фона элемента управления, я использую следующий синтаксис:

<ColorAnimation Duration="0:0:0.5" 
 Storyboard.TargetProperty="(Control.Foreground).(SolidColorBrush.Color)" 
 To="Black" />

Я очень рад, что это работает, но я не смог найти информацию о круглых скобках в справочнике синтаксиса xaml ...

Не могли бы вы объяснить, откуда этот синтаксис и что на самом деле означает круглая скобка?

Это было бы очень полезно. Спасибо

1 Ответ

7 голосов
/ 09 января 2011

См. Синтаксис XAML PropertyPath :

Скобки указывают, что это свойство в PropertyPath должно быть построено с использованием частичной квалификации.Он может использовать пространство имен XML, чтобы найти тип с соответствующим отображением.OwnerType ищет типы, к которым имеет доступ процессор XAML, через объявления XmlnsDefinitionAttribute в каждой сборке.Большинство приложений имеют пространство имен XML по умолчанию, сопоставленное с пространством имен http://schemas.microsoft.com/winfx/2006/xaml/presentation, поэтому префикс обычно необходим только для пользовательских типов или типов, не входящих в это пространство имен.propertyName должно разрешить быть именем свойства, существующего на ownerType.Этот синтаксис обычно используется для одного из следующих случаев:

  • Путь указывается в XAML, который находится в стиле или шаблоне, который не имеет указанного Типа цели.Квалифицированное использование, как правило, недопустимо для случаев, отличных от этого, поскольку в нестандартных, не шаблонных случаях свойство существует для экземпляра, а не типа.

  • Свойствоприкрепленное свойство.

  • Вы привязываетесь к статическому свойству.

...