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

尝试按照下面的说明为 ListBox 设置 ItemsTemplate,而不是使用显式的 ControlTemplate。

ItemsControl.ItemTemplate 属性

于 2012-07-02T11:08:42.677 回答