Creating a custom WPF control and set a DataTemplate as a Dependency Property
===

I'm creating a new control for my WPF application. In it, I have added two dependency properties. These ones is to give style a listbox with a bullet decorator.

Here is what I have:

    public class NewControl : Control
    {
        static QuestionControl()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(QuestionControl), new FrameworkPropertyMetadata(typeof(QuestionControl)));
        }

        // Another dependency properties...

        // PossibleAnswers : IEnumerable
        public IEnumerable PossibleAnswers
        {
            get { return (IEnumerable)base.GetValue(PossibleAnswersProperty); }
            set { base.SetValue(PossibleAnswersProperty, value); }
        }

        public static readonly DependencyProperty PossibleAnswersProperty =
          DependencyProperty.Register("PossibleAnswers", typeof(IEnumerable), typeof(QuestionControl));

        // PossibleAnswers : DataTemplate
        public DataTemplate PossibleAnswersTemplate
        {
            get { return (DataTemplate)base.GetValue(PossibleAnswersTemplateProperty); }
            set { base.SetValue(PossibleAnswersTemplateProperty, value); }
        }

        public static readonly DependencyProperty PossibleAnswersTemplateProperty =
          DependencyProperty.Register("PossibleAnswersTemplate", typeof(DataTemplate), typeof(QuestionControl));
    }

Then I've got the generic style here. Please, watch the last style I've set the PossibleAnswers to the listbox and the binding is okay. But at the mommento to pass the data template (this one is setted to the content control called `ContentText` and watch I've set the template called PossibleAnswersTemplate) and it's wrong at this part.

Does not compile. What should be the error?

    <Style TargetType="ListBox" x:Key="KinectRadioList">
        <Style.Setters>
            <Setter Property="ItemContainerStyle">
                <Setter.Value>
                    <Style TargetType="{x:Type ListBoxItem}">
                        <Style.Setters>
                            <Setter Property="OverridesDefaultStyle" Value="True"/>
                            <Setter Property="Template">
                                <Setter.Value>
                                    <ControlTemplate TargetType="{x:Type ListBoxItem}">
                                        <ControlTemplate.Resources>
                                            <Style TargetType="{x:Type Ellipse}">
                                                <Style.Setters>
                                                    <Setter Property="Fill" Value="Black"/>
                                                    <Setter Property="Stroke" Value="Black"/>
                                                </Style.Setters>
                                                <Style.Triggers>
                                                    <DataTrigger Binding="{Binding RelativeSource={x:Static RelativeSource.TemplatedParent}, Path=IsEnabled}" Value="False">
                                                        <Setter Property="Fill" Value="Black"/>
                                                        <Setter Property="Stroke" Value="Black"/>
                                                    </DataTrigger>
                                                </Style.Triggers>
                                            </Style>
                                        </ControlTemplate.Resources>
                                        <BulletDecorator Background="Transparent" >
                                            <BulletDecorator.Bullet>
                                                <Canvas Width="15" Height="15">
                                                    <Ellipse Width="13" Height="13" Canvas.Left="1" Canvas.Top="1" StrokeThickness="1" Fill="{x:Null}"/>
                                                    <Ellipse Width="8" Height="8" Canvas.Left="3.5" Canvas.Top="3.5" Stroke="{x:Null}" Visibility="{Binding RelativeSource={x:Static RelativeSource.TemplatedParent}, Path=IsSelected, Converter={StaticResource BoolToVisibilityConverter}}"/>
                                                </Canvas>
                                            </BulletDecorator.Bullet>
                                            <ContentControl x:Name="ContentText" Margin="2 0 0 0" Content="{Binding}" ContentTemplate="{TemplateBinding PossibleAnswersTemplate}" />
                                            <!--<TextBlock Name="BulletLabel" Style="{StaticResource TextBlockStyle}" Margin="2 0 0 0" FontSize="{StaticResource ItemFontSize}" Text="{Binding}"/>-->
                                        </BulletDecorator>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style.Setters>
                    </Style>
                </Setter.Value>
            </Setter>
        </Style.Setters>
    </Style>


    <Style TargetType="{x:Type local:QuestionControl}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:QuestionControl}">
                        <StackPanel>
                            <ContentControl Content="{TemplateBinding QuestionText}"
                                            ContentTemplate="{TemplateBinding QuestionTextTemplate}" />
                            <ListBox ItemsSource="{TemplateBinding PossibleAnswers}" SelectionMode="Multiple"
                                     Style="{StaticResource KinectRadioList}"/>
                        </StackPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

