datatemplate中的绑定复选框到用户控件datacontext

时间:2011-01-24 19:42:12

标签: silverlight silverlight-4.0

我有一个列表框,其中包含复选框的数据模板。我需要复选框数据上下文是用户控件而不是列表框datacontext。怎么能活跃在silverlight中,因为donot有亲戚而不是自我或模板

提前致谢

1 个答案:

答案 0 :(得分:0)

Silverlight没有“开箱即用”的相对源绑定,但是这里有一个解决方案:

http://www.scottlogic.co.uk/blog/colin/2009/02/relativesource-binding-in-silverlight/

您可以将CheckBox的DataContext绑定到父User Conntrol(在此示例中称为MyUserControl),如下所示:

  <CheckBox>
      <local:BindingHelper.Binding>
          <local:BindingProperties TargetProperty="DataContext" 
                   SourceProperty="DataContext"
                   RelativeSourceAncestorType="MyUserCOntrol"/>
      </local:BindingHelper.Binding>
  </CheckBox>

如果您不想沿着这条路线前进,可以创建一个ViewModel,它暴露您绑定到复选框的对象集合,每个对象都可以提供一个返回父视图模型的引用。