微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

wpf – 在Silverlight 4中覆盖默认的ItemsPanelTemplate?

我试图在Silverlight中覆盖TabControl的认模板.我不想让标签在它们满了时环绕,而是让用户可以滚动浏览它们,类似于ListBox.但是,Silverlight只会忽略我在“ItemsPanelTemplate”中放置的所有内容并呈现认值.这是相关代码

<swc:TabControl Grid.Row="0" Grid.Column="1" Name="Tabs">
        <swc:TabControl.ItemsPanel>
            <ItemsPanelTemplate>
                <ScrollViewer>
                     <StackPanel Orientation="Horizontal" />
                </ScrollViewer>
            </ItemsPanelTemplate>
        </swc:TabControl.ItemsPanel>

即使我只是放入一个常规的StackPanel,它仍然什么都不做.我正在使用Silverlight Toolkit作为选项卡,因此我在网上找到的所有内容仅适用于常规WPF,并且不适用于Silverlight.非常感谢你的建议.

解决方法

ItemsPanel需要有一个Panel作为根元素.你有一个ScrollViewer.如果要添加ScrollViewer,则必须创建一个自定义ControlTemplate,它使用ScrollViewer包装ItemsPresenter. ItemsPresenter将显示ItemsPanel.

您应该能够从Silverlight Toolkit源获取认的Style和ControlTemplate,并根据您的需要进行调整.然后在您的应用程序资源中包含您的修改版本,或者将其明确应用于单个TabControls.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐