2010-11-02 68 views
0

我有一个datagrid,其中一列的标题我想有一个下拉菜单中的数据过滤。问题是具有该下拉列表中值的datacontext位于usercontrol的viewmodel而不是datagrids itemssource中,因此该列表似乎无法用于下拉菜单。Silverlight的数据绑定到父项的父项datacontext中的项目源

   <sdk:DataGridTemplateColumn.HeaderStyle> 
        <Style TargetType="sdk:DataGridColumnHeader"> 
         <Setter Property="ContentTemplate"> 
          <Setter.Value> 
           <DataTemplate> 
            <StackPanel Orientation="Horizontal"> 
             <TextBlock Text="Assignee" /> 
             <ComboBox x:Name="cboAttorneyHdr" ItemsSource="{Binding Path=Attorneys}" 
                Margin="3,0,0,0" SelectedItem="{Binding Path=SelectedAttorney, Mode=TwoWay}" /> 
            </StackPanel> 
           </DataTemplate> 
          </Setter.Value> 
         </Setter> 
        </Style> 
       </sdk:DataGridTemplateColumn.HeaderStyle> 

我发现使用WPF相对源,这似乎是问同样的事情,但似乎这并不为Silverlight工作的例子。我已经尝试在后面的代码中手动设置,但组合框似乎在那里可用!我解决这个问题找到

回答

0

的一种方法是使用一些helper详细的here - 它只是可能的实现方式之一,但它相当于与AncestorLevel/AncestorType这仍然是不SL4可仿效WPF RelativeSourceBinding。或者你可以尝试google'silverlight combobox in datagrid'以获得更多解决方法,我敢肯定你可以想象这是一个很常见的问题:)

相关问题