将DataTemplate绑定到“外部”属性 - c#

我有一个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的一部分,我需要绑定到TabControl所在的XAML窗口中找到的列表:

public partical class SomeWindow : Window {
     public List<string> aList {
         get { return new List<string>(); }
     }
}

如何在TabControl的DataTemplate中引用并绑定到aList?

参考方案

如果将绑定的RelativeSource设置为一个元素,该元素的Data Context允许它访问aList属性,则可以将绑定的路径设置为aList。因此,它看起来像这样(假设您窗口的DataContext允许它访问aList):

ItemsSource={Binding Path=aList, RelativeSource={RelativeSource AncestorType={x:Type Window}}

C#WPF-如何始终从文本框中获取当前文本? - c#

我在FileWindow.xaml中有一个TextBox:<TextBox x:Name="textBox" HorizontalAlignment="Left" Height="23" Margin="233,230,0,0" TextWrapping="Wra…

WPF MVVM中的动态TabControl - c#

我几周前开始使用WPF(在C#中),现在我需要一些高级帮助来使用tabcontrol。首先,我正在使用MVVM(模型视图ViewModel)模式来设计我的应用程序,并且我有一个约束,即试图不要在文件(初始化xaml文件)后面的代码中添加代码。现在,我的问题是在MainWindow视图(窗口)中动态创建新的tabItem,当单击按钮(例如“新建选项卡”按钮)时…

获取ListBoxItem的索引-WPF - c#

如何获取ListBoxItem的索引?ListBox通过XmlDataProvider绑定到XML节点的集合。 参考方案 我有一个类似的问题,得到了回答here基本上,您将ListBox的AlternationCount设置为非常高的值,并绑定到每个项目上的AlternationIndex<ListBox AlternationCount="…

WPF-将窗口大小设置为子用户控件大小 - c#

我有一个选项卡控件,该控件动态地填充有包含各种大小的用户控件的选项卡。打开选项卡后,我希望窗口自动调整大小,使其在活动用户控件下有意义。有一种干净的方法可以做到这一点吗?我正在使用标准的mvvm模式。 参考方案 在Window类上使用SizeToContent属性。<Window x:Class="WpfApplication1.MainWi…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…