0

一連のカスタム コントロールを使用してアプリケーションを開発しています。他のカスタム コントロールのコレクションを含む ListBox を持つカスタム コントロールがあります。

これら 2 つのカスタム コントロール (コンテナーと要素) のコントロール テンプレートを次に示します。

コンテナー (制御を継承) :

<ControlTemplate TargetType="{x:Type local:Container}">
<Border Background="LightBlue"
        BorderBrush="RoyalBlue"
        BorderThickness="2" CornerRadius="5">                                               
    <StackPanel>                                                    
        <TextBlock TextAlignment="Center" Text="{TemplateBinding Name}" />
        <ListBox ItemsSource="{TemplateBinding Items}">
        </ListBox>
    </StackPanel>
</Border>
</ControlTemplate>

要素 (ListBoxItem を継承):

<ControlTemplate TargetType="{x:Type local:Element}">
    <Border IsHitTestVisible="True" >                        
        <TextBlock Text="{TemplateBinding ElementName}" />
    </Border>
</ControlTemplate>

問題は、コンテナーのリストボックスでこの要素を選択できないことです (HitTest に問題があります)。

アイテムを選択可能にする方法などはありますか?

ありがとう

4

1 に答える 1

0

明示的な ControlTemplate を使用する代わりに、説明したように ListBox の ItemsTemplate を設定してみてください。

ItemsControl.ItemTemplate プロパティ

于 2012-07-02T11:08:42.677 に答える