ContentPresenter没有显示Usercontrol,怎么样?

时间:2009-10-30 13:10:40

标签: wpf user-controls styles

我有一个ListBox,它显示了许多绑定到我问题的用户控件。这工作正常,但是我不希望ListBox中的每个项都可以选择,因此我创建了一个空白样式并将其应用到ItemContainerStyle。这导致我的内容消失,每个项目显示为空白。有什么想法吗?

- 的Xaml -

<ListBox ItemContainerStyle="{StaticResource noSelect}" Name="lbTasks" Height="180"
         BorderBrush="#E6E6E6" >
     <ListBox.ItemTemplate>
          <DataTemplate>
               <my:TaskQuestion Question="{Binding Test}" />
          </DataTemplate>
     </ListBox.ItemTemplate>
</ListBox>

- 样式 -

<Style x:Key="noSelect" TargetType="{x:Type ListBoxItem}">
    <Setter Property="Margin" Value="2, 2, 2, 0"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate>
                <ContentPresenter />
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

我是否错误地使用了内容展示者?

Tia,Kohan

1 个答案:

答案 0 :(得分:5)

在样式中为ControlTemplate设置TargetType 即G。 &lt; ControlTemplate TargetType =“{x:Type ListBoxItem}”&gt;