我的ObjectDataProvider
XAML 中有一个引用我的Window
- 派生类中的方法。也就是说,我有NewForm.xaml.cs
classNewForm
并且ObjectDataProvider
inNewForm.xaml
引用了NewForm
. 目前,使用以下 XAML,我收到堆栈溢出错误,因为NewForm
构造函数不断被一遍又一遍地调用:
<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
以加载我的应用程序,但是它必须创建一个新实例NewForm
才能调用GetTeamName
,但是构造函数调用InitializeComponent
它创建一个新的NewForm
,它必须创建一个新NewForm
的调用GetTeamName
...它实际上每次都会使 Visual Studio 2010 崩溃。
无论如何,我要问的是我是否必须ObjectDataProvider
在其他类中定义我的 XAML 通过 s 调用的方法?或者我可以以某种方式使用ObjectDataProvider
我的 XAML 类中定义的方法吗?或者在我的 XAML 类中调用一个方法,我应该使用其他的 XAMLObjectDataProvider
吗?似乎我不能将我的 C# 方法放在另一个类中,因为它用于从我的 XAMLTryFindResource
中获取一个。XmlDataProvider