超出DataContext的绑定
本文关键字:绑定 DataContext 超出 | 更新日期: 2023-09-27 18:04:15
我有一个DataTemplate模板我的ItemsControl的项目,这是时间表的详细信息。我有几个文本框代表我的时间表的详细信息的某些值,但他们的IsEnabled属性取决于时间表本身,而不是详细信息。
<ItemsControl
ItemsSource="{Binding Path=TimeSheet.TimeSheetDetails}"
ItemTemplate="{StaticResource TimeSheetDetail}"
/>
<DataTemplate x:Key="TimeSheetDetail">
<TextBox
Text="{Binding Houre}"
IsEnabled="Binding ??????">
</DataTemplate>
由于IsEnabled属性不能在TimeSheetDetails中找到,但可以在我的ViewModel中找到,我想直接绑定到我的ViewModel的属性,但当我尝试绑定时,从我的DataTemplate到我的ViewModel,它似乎只在我的TimeSheetDetail中查找。
我怎么能直接访问我的ViewModel的公共属性?
你可以绑定你父母的DataContext
:
{Binding DataContext.IsEnabled,
RelativeSource={RelativeSource FindAncestor, AncestorType=ItemsControl}}