ContentControl から継承してカスタム コントロールを作成しています。以下は、Generic.xaml に存在する XAML コードです。
<Style TargetType="local:MyCustomControl">
<Setter Property="Background" Value="YellowGreen"></Setter>
<Setter Property="IconSource" Value="/Themes/icon.png"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:MyCustomControl">
<Border BorderBrush="White" BorderThickness="2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{TemplateBinding IconSource}" Stretch="None"></Image>
<Border Background="{TemplateBinding Background}" Grid.Column="1">
<ContentPresenter x:Name="ContentContainer"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Margin="{TemplateBinding Padding}">
</ContentPresenter>
</Border>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
私のアプリケーションでは、次のようにカスタム コントロールを使用しました。
<mycontrol:MyCustomControl Height="100" Width="400"
Foreground="Red"
IconSource="/Assets/ApplicationIcon.png">
<mycontrol:MyCustomControl.Content>
<StackPanel>
<TextBlock Text="Some Text Content Here"/>
<Button Content="Test Button" Foreground="Pink" Background="Black"/>
</StackPanel>
</mycontrol:MyCustomControl.Content>
</mycontrol:MyCustomControl>
stackpanel のテキストブロックのテキストがどのように、なぜ赤い色になるのかわかりません。誰かが簡単な言葉でそれがどのように、そしてなぜ起こっているのか説明できますか?
出力は次のとおりです。