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.

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...