我有一个DataTemplate用于模板我的ItemsControl的项目,这些项目是TimeSheet的详细信息。 我有几个TextBox表示我的TimeSheet的详细信息的某些值,但它们的IsEnabled属性取决于TimeSheet本身,而不是细节。
<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的公共属性?
答案 0 :(得分:2)
您可以绑定到您父母的DataContext
:
{Binding DataContext.IsEnabled,
RelativeSource={RelativeSource FindAncestor, AncestorType=ItemsControl}}