我已经在MVVM Prism Silverlight(c#)应用程序中定义了一个自定义用户控件。 我在这样的视图中使用我的控件:
<my2:DetailsTable Name="detailTable"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
DataContext="{Binding MyDataObject}" />
然后我想在我的自定义控件DetailTable中的代码中使用这个绑定的MyDataObject。我想首先将对象绑定到datacontext,如图所示,然后在代码后面显示此对象属性到标签,文本框等。在此自定义用户控件中。
如何实现这一目标?
感谢
答案 0 :(得分:3)
在您的代码中,在xaml中设置数据上下文后,您可以使用以下命令检索绑定对象:
MyDataObjectType dataObject = (MyDataObjectType)detailsTable.DataContext;
然后您可以根据需要使用dataObject.Property1。
答案 1 :(得分:0)
如果同一视图中的文本框/文本块,则可以通过将文本框/文本块的Text属性与MyDataObject.Property1等绑定来实现此目的。
示例代码。
<my2:DetailsTable Name="detailTable"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
DataContext="{Binding MyDataObject}" />
<TextBox Text={Binding MyDataObject.Property1}/>
<TextBlock Text={Binding MyDataObject.Property2}/>