amr*_*der 1 xaml windows-phone-7
我的datacontext有两个属性:Items它是一个集合,DetailsVisiblity它是类型的枚举Visiblity.
在网页上我有一个Listbox带ItemsSource="{Binding Entries}".在里面DataTemplate,我可以将东西绑定到Items的属性,但是如何访问DetailsVisiblity哪个属性DataContext?
DataContext有两个属性:ObservableCollection<Item> Entries和Visibility DetailsVisiblity.Item类有两个属性:Title和Details.
这是观点.如何Visiblity将第二个绑定TextBlock到DetailsVisiblity属性?
<ListBox ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Title}" />
<TextBlock Text="{Binding Details}" Visibility="{Binding ???}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
您可以命名ListBox,并在Binding中使用ElementName引用它,在Path中使用DataContext.DetailsVisibility
<ListBox x:Name="listBox" ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Title}" />
<TextBlock Text="{Binding Details}"
Visibility="{Binding ElementName=listBox,
Path=DataContext.DetailsVisibilty}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)