在DataTemplate中使用ListBox控件

时间:2011-01-23 21:49:11

标签: windows-phone-7 datatemplate

我有一个简单的WP7程序,我想在ListBox和Diagramm中显示我的模型对象。

我想使用数据模板和返回正确模板的Selector类。 选择器在视图模型中获取布尔属性,并返回ListBoxTemplate或DiagrammTemplate

我的页面资源如下所示:

      <local:NewTemplateSelector x:Key="NewTemplateSelector">
        <local:NewTemplateSelector.ListBoxTemplate>        
                <DataTemplate>
                <StackPanel>
                    <ListBox  
                 x:Name="MainListBox" Margin="6,205,35,136"  ItemsSource="{Binding Acts}"                        
                    ItemTemplate="{Binding ElementName=Page, Path=Orientation, 
                    Converter={StaticResource OrientationToListItemTemplate}}" />                                                       
                </StackPanel>
            </DataTemplate>

        </local:NewTemplateSelector.ListBoxTemplate>

        <local:NewTemplateSelector.DiagrammTemplate>
            <DataTemplate>
                <TextBlock Text="Diagramm"/>
            </DataTemplate>
        </local:NewTemplateSelector.DiagrammTemplate>

    </local:NewTemplateSelector>

我的内容面板只有一个元素:

 <ContentControl ContentTemplate="{Binding IsDiagramm, 
    Converter={StaticResource NewTemplateSelector}}" HorizontalAlignment="Left" HorizontalContentAlignment="Left" />

我跑这个时总是得到一个空白的屏幕。 我的Selector类返回正确的模板,我可以在调试器中看到它。 当我用简单的文本块替换模板中的列表框时,会显示文本块,所以我怀疑数据绑定存在问题。

但是当我在没有任何数据模板的内容面板中插入它时,模板中的列表框工作正常。

对我有任何暗示吗?

1 个答案:

答案 0 :(得分:1)

您可能希望参考讨论嵌套列表框的此主题。

Listbox Inside listbox Databinding Problem