作者:安全小护士 | 来源:互联网 | 2023-05-22 11:25
在WPF中,我有一个ListView,其ItemSource绑定到ObservableCollection:
TestList是TestCase类型的集合,它具有多个成员。这对于用TestList成员的信息填充ListView列非常有用,但是我还需要从集合外部访问属性。
有一个ComboBox(位于ListView之外),用于更改某些列中显示的控件。我试图通过在Visibility属性上设置DataTrigger来做到这一点:
我还有其他一些地方需要从TestList外部进行绑定(例如在CellTemplates中填充ComboBox)。但是,ListView似乎没有从ItemSource之外的任何事物获取数据。
我尝试将TestList和IdentitySelection移到一个类(TestManager)中,将其声明为一个大型属性,并绑定到该类:
那也没有用。关于数据上下文,我是否需要更改?我觉得一定有办法做到这一点。任何想法都将不胜感激。
1> BradleyDotNE..:
进入后DataTemplate
,将DataContext
切换到绑定的项目。没有绕过它。
但是,您还可以执行其他绑定。例如,如果您需要脱离主数据上下文,则可以执行以下操作:
"{Binding ElementName=Root, Path=DataContext.MyProperty}"
请注意,您的窗口或根元素需要x:Name="Root"
此功能才能正常工作。您仍然仍然可以通过StaticResource
绑定来获取资源。