将DataTemplate绑定到“外部”属性

3

我有一个 TabControl,它从它的 ItemsSource 中构建 TabItems 的列表。就像这样:

<TabControl ItemsSource="{Binding Path =.}">
    <TabControl.ItemContainerStyle>
            <Style TargetType="TabItem" BasedOn="{StaticResource BlueTabItem}" >
                <Setter Property="Header" Value="{Binding Path=dataName}"/>
            </Style>
    </TabControl.ItemContainerStyle>
    ...
</TableControl>

作为 DataTemplate 的一部分,我需要绑定到一个列表,该列表位于我的 XAML 窗口中,其中包含 TabControl:
public partical class SomeWindow : Window {
     public List<string> aList {
         get { return new List<string>(); }
     }
}

如何在TabControl的DataTemplate中引用并绑定aList?
2个回答

4
如果您将绑定的RelativeSource设置为一个元素,该元素的数据上下文可以访问aList属性,那么您可以将绑定的Path设置为aList。因此,它应该类似于这样(假设窗口的数据上下文可以访问aList):
ItemsSource={Binding Path=aList, RelativeSource={RelativeSource AncestorType={x:Type Window}}

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接