1

ユーザーExpanderがヘッダーアイコンをクリックしたときにのみコンテンツを展開/折りたたみするものが必要です。(ヘッダー全体がクリック可能になる代わりに。)

これを行うには、コントロールを再定義するTemplate必要がありますか?どのように見えますか?
コントロールの標準テンプレート/スタイルはどこにありますか?

御時間ありがとうございます。

4

2 に答える 2

2

実際には、テンプレートを変更するよりもはるかに単純なXAMLソリューションがあります。この場合、単にエキスパンダーのヘッダープロパティを使用しないでください。代わりに、独自のスタイルのTextBlockでエキスパンダーを覆います。

<Application.Resources>
    <Style x:Key="ExpanderHeader" TargetType="{x:Type TextBlock}">
        <Setter Property="Height" Value="22" />
        <Setter Property="Margin" Value="21,0,0,0" />
        <Setter Property="Padding" Value="9,3,0,0" />
        <Setter Property="HorizontalAlignment" Value="Stretch" />
        <Setter Property="VerticalAlignment" Value="Top" />
    </Style>
</Application.Resources>

<Grid>
    <Expander>
        <TextBlock Text="I am some content. I have disowned my default header." Margin="10,5" />
    </Expander>
    <TextBlock Text="I'm filling in for the default header. You'll like me better anyway."
               Style="{StaticResource ResourceKey=ExpanderHeader}"/>
</Grid>
于 2012-11-19T18:54:47.397 に答える
0

私はここに私の質問に対する解決策を投稿しました(ベンからのコメントと同じリンク)。

于 2010-06-11T21:01:25.637 に答える