Не понимаю, как работает шаблон PasswordBox в XAML
Ниже мой шаблон для PasswordBox. Он работает, как и должен, но я не понимаю, почему. А именно только засчёт строчки:
<ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
Если я изменю имя элемента ScrollWiewer на какое-либо другое, то шаблон уже не рабочий(при вводе пароля визуально не видно, что он введён). Так вот вопрос: что это за загадочный элемент с именем PART_ContentHost и почему без него не видно пароля в PasswordBox?
<Style x:Key="PasswordBoxStyle" TargetType="PasswordBox">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="{DynamicResource BorderBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource TextColor1}"/>
<Setter Property="Width" Value="{Binding PasswordBox.Width}"/>
<Setter Property="Height" Value="{Binding PasswordBox.Height}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type PasswordBox}">
<Grid>
<Border Background="{TemplateBinding PasswordBox.Background}" BorderBrush="{TemplateBinding PasswordBox.BorderBrush}" BorderThickness="3" CornerRadius="11">
<ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource IsMouseOverColor}"/>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource IsMouseOverColor}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>