ObjectDataProviderXAML に、派生クラスのメソッドを参照する がありますWindow。つまり、NewForm.xaml.cswith クラスがNewFormあり、ObjectDataProviderinNewForm.xamlは in のメソッドを参照していNewFormます。NewForm現在、次の XAML では、コンストラクターが何度も呼び出され続けるため、スタック オーバーフロー エラーが発生します。
<Window x:Class="MyNamespace.NewForm" ...>
<Window.Resources>
<ObjectDataProvider x:Key="getTeamName"
ObjectType="{x:Type local:NewForm}"
MethodName="GetTeamName">
<ObjectDataProvider.MethodParameters>
<sys:Int32>-1</sys:Int32>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
</Window>
ObjectTypeが に設定されているためだと思いますので、アプリケーションをロードするNewFormためにロードしますが、 を呼び出すためにNewFormの新しいインスタンスを作成する必要がありますが、コンストラクターは、呼び出すために新しいを作成する必要がある新しいを作成する呼び出しを呼び出します...実際には毎回 Visual Studio 2010 がクラッシュします。NewFormGetTeamNameInitializeComponentNewFormNewFormGetTeamName
とにかく、私が求めているのは、XAML がObjectDataProviders を介して他のクラスで呼び出すメソッドを定義する必要があるかということです。またはObjectDataProvider、XAML のクラスで定義されたメソッドで何らかの方法で使用できますか? または、XAML のクラスでメソッドを呼び出すには、他の XAML を使用する必要がありObjectDataProviderますか? XAML からTryFindResource取得するために使用するため、C# メソッドを別のクラスに配置できるようには見えません。XmlDataProvider