首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF ItemsPanelTemplate不工作

WPF ItemsPanelTemplate不工作
EN

Stack Overflow用户
提问于 2009-12-02 20:52:04
回答 2查看 2.3K关注 0票数 1

我正在试着让ItemsPanelTemplateListBox上工作。ListBoxDataTemplate中使用,我的任何隐式ListBox样式都不会覆盖默认的视觉样式。由于某种原因,我为控件指定的ItemsPanelTemplate ( WrapPanel)被忽略,取而代之的是StackPanel

这是整个模板,我只能假设我遗漏了一些东西,导致了这一点。

代码语言:javascript
复制
<DataTemplate x:Key="GroupLargeIconsTemplate" DataType="{x:Type Core:IGroup}">
    <ListBox ItemsSource="{Binding Children}" OverridesDefaultStyle="True">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel HorizontalAlignment="Left" VerticalAlignment="Top" IsItemsHost="True"  ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto"
                           Width="{Binding (FrameworkElement.ActualWidth), RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}" />
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <DataTemplate.Resources>
                    <conv:IconConverter x:Key="IconConverter"/>
                </DataTemplate.Resources>
                <StackPanel Margin="2" Width="100" Height="140">
                    <Image Source="{Binding Icon,Converter={StaticResource IconConverter},ConverterParameter=96}"/>
                    <TextBlock Text="{Binding Name}" TextWrapping="Wrap" TextTrimming="CharacterEllipsis" />
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</DataTemplate>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-02 23:01:55

我的猜测是WrapPanel中的width属性使其行为类似于Stackpanel。

票数 2
EN

Stack Overflow用户

发布于 2012-07-09 21:07:37

奇怪的是,控件模板不应该覆盖显式指定的值,相反,我想到了相反的情况……也就是说,除非控件模板提供了一个"IsItemsHost“设置为true的面板。则忽略该ItemsPanel。这可能就是你的案子了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1832719

复制
相关文章

相似问题

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