私は非常に奇妙な問題を抱えています。wpf、telek(office2007 テーマ) を使用してアプリケーションを作成しました。DataTemplateSelector を使用して、さまざまなタイプのモデルのビューを動的に作成します。Windows 7 ではすべて問題なく動作しますが、Windows 8 では DataTemplateSelector が機能しません! なんてこと?私の問題を解決できますか?
public class TabDataTemplateSelector:DataTemplateSelector
{
    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        if(item==null || container == null)
            return null;
        FrameworkElement element = Application.Current.MainWindow as FrameworkElement;
        if (element == null)
            return null;
        if (item is PetrochemicalCatalogViewModel)
        {
            return element.FindResource("PetrochemicalCatalogDataTemplate") as DataTemplate;
        }
        if (item is FuelPriceViewModel)
        {
            return element.FindResource("FuelPriceDataTemplate") as DataTemplate;
        }
        if (item is RoleViewModel)
        {
            return element.FindResource("RoleDataTemplate") as DataTemplate;
        }
        if (item is IEquipmentViewModel)
        {
            return element.FindResource("EquipmentDataTemplate") as DataTemplate;
        }
        if (item is IZondsViewModel)
        {
            return element.FindResource("ZondDataTemplate") as DataTemplate;
        }
        if (item is ITankCatalogViewModel)
        {
            return element.FindResource("TanksDataTemplate") as DataTemplate;
        }
        if (item is IDispensersWorkplaceViewModel)
        {
            return element.FindResource("DispensingDataTemplate") as DataTemplate;
        }
        if (item is IDispenserSetsWorkplaceViewModel)
        {
            return element.FindResource("DispenserSetsWorkplaceTemplate") as DataTemplate;
        }
        if (item is IPaymentTypeCatalogViewModel)
        {
            return element.FindResource("PaymentTypeWorkplaceTemplate") as DataTemplate;
        }
        if (item is ICashManagementViewModel)
        {
            return element.FindResource("CashManagementTemplate") as DataTemplate;
        }
        if (item is ITerminalWorkplaceViewModel)
        {
            return element.FindResource("TerminalDataTemplate") as DataTemplate;
        }
        if (item is IPriceingWorkplaceViewModel)
        {
            return element.FindResource("PriceingDataTemplate") as DataTemplate;
        }
        return null;
    }
}
<local:TabDataTemplateSelector x:Key="tabDataTemplateSelector"/>
        <DataTemplate x:Key="TabContentTemplate">
            <telerik:RadBusyIndicator x:Name="rbiBusy" VerticalAlignment="Stretch" IsBusy="{Binding IsBusy}" HorizontalContentAlignment="Stretch" telerik:StyleManager.Theme="Windows8Touch" VerticalContentAlignment="Stretch">
                    <ContentPresenter  ContentTemplateSelector="{StaticResource tabDataTemplateSelector}"  Content="{Binding TabContentViewModel}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>                    
            </telerik:RadBusyIndicator>               
        </DataTemplate>