Silverlight 5 + Prism: TabControlRegionAdapter - PullRequest
2 голосов
/ 18 мая 2011

У меня было представление с использованием TabControl с призмой: TabControlRegionAdapter

 <sdk:TabControl Grid.Row="1" AutomationProperties.AutomationId="GUID" Margin="8,8,12,12"
                    prism:RegionManager.RegionName="GUID_REG_NAME"
                    prism:RegionManager.RegionContext="{Binding CurrentSelectedItem}" Name="TabControl1" >
        <prism:TabControlRegionAdapter.ItemContainerStyle>
            <Style TargetType="sdk:TabItem">
                <Setter Property="HeaderTemplate">
                    <Setter.Value>
                        <!--Display the child view name on the tab header-->
                        <DataTemplate>
                            <TextBlock Text="{Binding ViewName}" />
                        </DataTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </prism:TabControlRegionAdapter.ItemContainerStyle>
    </sdk:TabControl>

Все работало нормально, пока я настроен на Silverlight 4.

Я получил бета-версию Silverlight 5 и изменилцелевая версия проекта до SL 5.
Теперь представление не будет компилироваться с ошибкой:
The property 'ItemContainerStyle' does not exist on the type 'TabControl' in the XML namespace 'http://www.codeplex.com/prism'

Кто-нибудь еще получил эту ошибку?
Есть идеи о причинах / как исправитьэто?

Ответы [ 2 ]

2 голосов
/ 11 июля 2011

У меня была такая же проблема.Я поместил стиль вкладки в раздел ресурсов xaml и использовал следующий код:

TabControlRegionAdapter.SetItemContainerStyle(TabControl1, Resources["TabControl1ItemStyle"] as Style);
1 голос
/ 03 февраля 2012

Этот адаптер необходим для Silver light, поскольку элемент управления Tab не создает автоматически элементы Tab, когда новые элементы добавляются в коллекцию Items.

пожалуйста, загляните в эту статью, она может быть полезна для вас:

http://marktinderholt.wordpress.com/2010/06/10/silverlight-4-prism-tabcontrolregionadapter-itemtemplate/

...