ContentPresenter没有显示Usercontrol,怎么样?

4im*_*ble 0 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>
Run Code Online (Sandbox Code Playgroud)

- 样式 -

<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>
Run Code Online (Sandbox Code Playgroud)

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

Tia,Kohan

vik*_*iky 5

在样式中为ControlTemplate设置TargetType,例如<ControlTemplate TargetType ="{x:Type ListBoxItem}">