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