class Person  //一个类
{
    private string name;
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
}
<Window.Resources>
        <ObjectDataProvider x:Key="myDataSource" ObjectType="{x:Type local:Person}">
        </ObjectDataProvider>
    </Window.Resources>
    <StackPanel Name="stackpanel1">
        <TextBox Text="{Binding Source={StaticResource myDataSource}, Path=Name}"/>
    </StackPanel>
Person类没有带参的构造函数,ConstructorParameters属性是获取要传递给该构造函数的参数列表。怎么赋值呢?

解决方案 »

  1.   

    不能直接在ObjectDataProvider中设置属性,可以这样:    <Window.Resources>
            <local:Person x:Key="person">
                <local:Person.Name>my name</local:Person.Name>
            </local:Person>
            <ObjectDataProvider x:Key="myDataSource" ObjectInstance="{StaticResource ResourceKey=person}" />
        </Window.Resources>
        <Grid>
            <TextBox Text="{Binding Source={StaticResource myDataSource}, Path=Name}"/>
        </Grid>当然也可以直接绑定person