如何从Tab控件上的页面上的控件获取数据

时间:2009-02-05 00:33:55

标签: wpf tabcontrol

我有一个WPF标签控件,其中包含多个重复控件作为标签页内容

<TabControl ItemsSource="{Binding}" Name="tabControl">
    <TabControl.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Name}"/>
        </DataTemplate>
    </TabControl.ItemTemplate>
    <TabControl.ContentTemplate>
        <DataTemplate>
            <local:InnerDataEntryControl DataContext="{Binding Data}"/> 
        </DataTemplate>
    </TabControl.ContentTemplate>
</TabControl>

在InnerDataEntry控件上有一个列表框。我在外部窗体上有一个命令,它需要控件上列表框中的选定项。我无法弄清楚如何访问选项卡控件本身的列表框。当我尝试查询所选项时,我得到绑定项而不是列表框本身。

我不想在我的列表项上使用'IsSelected'属性污染业务层,我想我可以在必要时创建一个视图模型,但我似乎无法获取有关该信息的信息。标签页的实际内容控制。

我希望我错过了一些明显的东西。

1 个答案:

答案 0 :(得分:0)

早在我的WPF体验中就提到了这一点。要关闭问题的循环,我将发布一个关于MVVM主题的MSDN Magazine entry的链接。

最终,该解决方案涉及创建一个视图模型,该模型具有绑定到选项卡控件各部分的必要属性,以便视图模型不需要以我正在描述的方式进行访问。相反,视图模型直接作用于绑定的数据,而不必直接引用视图。