ResourceDictionary'style1.xaml'でDataTemplateを定義しました。
<ResourceDictionary
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<DataTemplate x:Key="BlogDataTemplate">
<Grid Margin="0,0,6,20" Width="400" Height="210">
<Grid VerticalAlignment="Bottom" Background="#A6000000">
<TextBlock Text="{Binding title}" Style="{StaticResource PhoneTextExtraLargeStyle}" Foreground="White" Margin="6" FontSize="25" TextWrapping="Wrap"/>
</Grid>
</Grid>
</DataTemplate>
</ResourceDictionary>
App.xaml.csにいる間、次のコードを使用してResourceDictionaryをマージします。
void LoadDictionary()
{
var dictionaries = Resources.MergedDictionaries;
string source = string.Empty;
var themeStyles = new ResourceDictionary { };
switch (Settings.fontStyle.Value)
{
case 0:
source = String.Format("/app;component/Themes/style1.xaml");
themeStyles.Source = new Uri(source, UriKind.Relative);
dictionaries.Add(themeStyles);
break;
case 1:
source = String.Format("/app;component/Themes/style2.xaml");
themeStyles.Source = new Uri(source, UriKind.Relative);
dictionaries.Add(themeStyles);
break;
default: break;
}
}
デバッグを使用すると、style1.xamlがマージされたことを確認できます。次に、MainPage.xmalにリストボックスがあり、ItemTemplateを次のように定義します。
<ListBox x:Name="listbox" ItemsSource="{Binding}" CacheMode="BitmapCache" ItemTemplate="{StaticResource BlogDataTemplate}"/>
しかし、アプリをデプロイすると、「不特定のエラー」が発生しました。
では、Windows PhoneのResourceDictionaryでDataTemplateにアクセスするにはどうすればよいですか?
前もって感謝します。