私はWindowsPhone開発の初心者なので、私の質問がばかげている場合はすみません。
WP7アプリケーションのすべてのページの基本クラスとなることを目的とした単純なジェネリッククラスを開発しました。ここに行きます:
namespace Subway.Rails
{
public class Screen<TModel> : PhoneApplicationPage where TModel: class, new()
{
private static readonly DependencyProperty ModelProperty = DependencyProperty.Register("Model", typeof(TModel),
typeof (Screen<TModel>),
new PropertyMetadata(new TModel()));
public TModel Model
{
get { return GetValue(ModelProperty) as TModel; }
set { SetValue(ModelProperty, value); }
}
}
}
x:TypeArguments
ただし、ディレクティブを使用してXAMLでページを宣言しようとすると
<rails:Screen x:TypeArguments="models:NotesStorage" xmlns:rails="clr-namespace:Subway.Rails;assembly=Subway.Rails" ...
*.xaml.csファイルの基本タイプを2倍にします
public partial class HomeView : Screen<NotesStorage>
ランタイムエラーが発生します
Error 7 Using the generic type 'Subway.Rails.Screen<TModel>' requires 1 type arguments D:\development\labs\mobilelab\Subway.Notes\Subway.Notes\obj\Debug\Views\HomeView.g.cs 37 50 Subway.Notes
生成されたファイル内。
XAMLで汎用ページをインスタンス化する方法はありますか?