首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列表框ItemTemplateSelector不工作

列表框ItemTemplateSelector不工作
EN

Stack Overflow用户
提问于 2014-04-15 14:25:59
回答 1查看 505关注 0票数 0

我和ItemTemplateSelector有一个ListBox。我的TemplateSelector选择了正确的模板,但UI上没有显示任何内容。

如果我用ItemsControl执行同样的过程,事情会运行得很好。但是,因为我需要selctedItem属性,所以我想使用ListBox。

我的XAML代码:-

代码语言:javascript
复制
<ListBox x:Name="CanvasItemsControl" ItemTemplateSelector="{StaticResource templateSelector}" ItemsSource="{Binding ItemListViewModel.CanvasItems}">
   <ListBox.ItemsPanel>
      <ItemsPanelTemplate>
           <Canvas/>
      </ItemsPanelTemplate>
</ListBox>

如果我的代码中ItemTemplateSelector的实现不正确,请提出建议。

EN

回答 1

Stack Overflow用户

发布于 2014-04-15 14:35:00

首先在资源中定义模板,然后在代码文件中定义DataTemplateSelector

代码语言:javascript
复制
public class templateSelector : DataTemplateSelector
{
    private DataTemplate _Template1;
    public DataTemplate Template1
    {
        get { return _Template1; }
        set { _Template1 = value; }
    }


    private DataTemplate _Template2;
    public DataTemplate Template2
    {
        get { return _Template2; }
        set { _Template2 = value; }
    }


    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        YourClass obj = (YourClass)item;

        if (obj.Type == "SomeType")
        {
            return Template1;
        }
        else
        {
            return Template2;
        }
    }

}

<ListView.ItemTemplateSelector>
    <local:FieldRangeTemplateSelector 
        Template1="{StaticResource YouyTemplate1}"
        Template2="{StaticResource YoutTemplate2}" />
</ListView.ItemTemplateSelector>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23076074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档