0

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 のテキストブロックのテキストがどのように、なぜ赤い色になるのかわかりません。誰かが簡単な言葉でそれがどのように、そしてなぜ起こっているのか説明できますか?

出力は次のとおりです。

ここに画像の説明を入力

4

1 に答える 1