2

私は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で汎用ページをインスタンス化する方法はありますか?

4

1 に答える 1

1

一般的に、公式にそれを示すものは見つかりませんでしたが(サポートされていない機能に関するドキュメントを見つけるのは常に困難です)、Silverlightでサポートされていない場合、WindowsPhoneでは使用できません。

あなたが見ているエラーメッセージはこれを確認しているようです。

于 2012-08-28T06:57:09.743 に答える