Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 银光装订_Silverlight_Mvvm_Binding_Dataform - Fatal编程技术网

Silverlight 银光装订

Silverlight 银光装订,silverlight,mvvm,binding,dataform,Silverlight,Mvvm,Binding,Dataform,我有一个Silverlight页面,它后面使用一个MVVM来处理所有正在进行的数据位 使用以下方法设置页面的数据上下文: DataContext="{Binding AddNewClientViewModel, Source={StaticResource ServiceLocator}}" ServiceLocator是一种允许我使用IoC容器创建和注入适当VM的服务 这一切都很好 现在我有了这样一个数据表: <df:DataForm CurrentItem="{Bin

我有一个Silverlight页面,它后面使用一个MVVM来处理所有正在进行的数据位

使用以下方法设置页面的数据上下文:

DataContext="{Binding AddNewClientViewModel, Source={StaticResource ServiceLocator}}"
ServiceLocator是一种允许我使用IoC容器创建和注入适当VM的服务

这一切都很好

现在我有了这样一个数据表:

        <df:DataForm CurrentItem="{Binding NewClient}" AutoGenerateFields="False"  >
        <df:DataForm.NewItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <df:DataField>
                        <TextBox Text="{Binding ClientName}" />
                    </df:DataField>
                    <df:DataField>
                        <TextBox Text="{Binding Property_on_the_VM_not_on_NewClient}" />
                    </df:DataField>
                </StackPanel>
            </DataTemplate>
        </df:DataForm.NewItemTemplate>
    </df:DataForm>

在第二个文本框中,您可以将ElementName绑定到父VM已经使用DataContext的根元素

<TextBox DataContent="{Binding DataContext, ElementName=rootLevelControl}" Text="{Binding property}"

您需要的是一个。问题是一旦进入数据表单,就有了一个新的数据上下文。没有简单的方法可以返回到视图的数据上下文。数据上下文代理允许您轻松地执行此操作,我使用过很多次,发现它非常有效。

嗨,Jobi,这似乎应该可以,但我没有任何运气。我将用我的尝试更新这个问题。
x:Name="root"
DataContext="{Binding AddNewClientViewModel, Source={StaticResource ServiceLocator}}"
<TextBox DataContent="{Binding DataContext, ElementName=rootLevelControl}" Text="{Binding property}"