将Textblock的Text属性绑定到Silverob中具有不同DataContext的Combobox selectedItem

时间:2014-07-02 05:03:29

标签: silverlight xaml silverlight-4.0

我有一个绑定到MyStaff类型对象的数据网格。除了其他属性之外,MyStaff还包含一个名为LookupID的列。现在,在我的ViewModel中,我有一个名为Lookups的集合,其中包含每个LookupID的描述。

我有一个模板列,在CellEdit模板中的Cell Template和Combobox中有一个Textblock。如何绑定Textblock,以便它根据LookupID从ComboBox中删除描述。

我知道如果Textblock和ComboBox的datacontext都很简单,那将会很简单,但事实并非如此。

我试过这个,但这不起作用。有什么建议?还将欣赏有关如何在Silverlight中为不同控件最佳使用不同数据上下文的任何信息。为此,我添加了一个指向ViewModel类的静态资源。

<sdk:DataGridTemplateColumn Header="Action Point"
                            Width="500"
                            CanUserReorder="False"
                            HeaderStyle="{StaticResource dthFull2}"
                            IsReadOnly="False">
    <sdk:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock
                Text="{Binding ElementName=LookupList,
                               Path=SelectedItem.Description}"
                MinHeight="24"
                VerticalAlignment="Top"
                Padding="2"
                TextTrimming="WordEllipsis"/>
        </DataTemplate>
    </sdk:DataGridTemplateColumn.CellTemplate>
    <sdk:DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <my:AutoCompleteComboBox x:Name="LookupList"
                FilterMode="Custom" Margin="2,0,0,0"
                SelectedValue="{Binding LookupID, Mode=TwoWay}"
                SelectedValuePath="LookupID"
                ItemsSource="{Binding Path=AnalysisLookupList.Values,
                                      Source={StaticResource ViewModel}}"/>
        </DataTemplate>
    </sdk:DataGridTemplateColumn.CellEditingTemplate>                  
</sdk:DataGridTemplateColumn>

0 个答案:

没有答案