ObjectDatatProvider를 사용하여 생성되는 개체의 생성자에 기존 개체 인스턴스를 매개 변수로 전달하려고합니다. 이것은 항상 내 객체가 하나 개의 매개 변수를 생성자에도 불구하고, 주어진 예외와 함께 실패 여기 WPF의 ObjectDataProvider에 기존 개체 인스턴스를 생성자 매개 변수로 전달
내 XAML입니다 :System.Windows.Data Error: 34 : ObjectDataProvider cannot create object; Type='VegaViewModel'; Error='Wrong parameters for constructor.' MissingMethodException:'System.MissingMethodException: Constructor on type 'WpfApplication1.VegaViewModel' not found. at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) at System.Windows.Data.ObjectDataProvider.CreateObjectInstance(Exception& e)'
<ObjectDataProvider ObjectType="{x:Type WpfApplication1:VegaModel}" MethodName="Sample" x:Key="VegaPnlData"/>
<ObjectDataProvider ObjectType="{x:Type WpfApplication1:VegaViewModel}" x:Key="VegaViewModel">
<ObjectDataProvider.ConstructorParameters>
<ObjectDataProvider ObjectInstance="{StaticResource VegaPnlData}"/>
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
나는이 XAML을 사용하는 경우 저도 같은 오류로 얻을 잘 :
public class VegaViewModel
{
public VegaViewModel(VegaModel vegaPnl)
{
VegaPnl = vegaPnl;
}
public VegaModel VegaPnl { get; set; }
}
: 여기
<ObjectDataProvider ObjectType="{x:Type WpfApplication1:VegaViewModel}" x:Key="VegaViewModel">
<ObjectDataProvider.ConstructorParameters>
<StaticResource ResourceKey="VegaPnlData"/>
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
는 VegaViewModel 클래스의 코드는
왜이 작업을 수행하려고합니까? –