Это синтаксис для указания типа, уточненного DependencyProperty
. Это необходимо, поскольку прикрепленное свойство Storyboard.TargetProperty
может быть присоединено к любому DependencyObject
. Это означает, что синтаксический анализатор XAML не будет знать, как разрешить свойства, если они не будут полностью квалифицированы.
Этот синтаксис также используется для таких вещей, как привязка к присоединенным свойствам. Вот надуманный пример, чтобы продемонстрировать это:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border x:Name="Foo" Background="Blue" Grid.Row="10" />
<Border x:Name="Bar" Background="Red" Height="{Binding (Grid.Row), ElementName=Foo}" />
</Grid>
Если вы удалите скобки из Binding
, вы получите ошибку привязки (поскольку у элемента Border
нет свойства Grid).