我构建了一个带有一些字段的UserControl和一个删除按钮。 这个Usercontrol我想在Listbox的DataTemplate中使用。
Window.xaml:
<ListBox ItemsSource="{Binding Users}">
<ListBox.ItemTemplate>
<DataTemplate>
<WrapPanel>
<my:User x:Name="user1" />
</WrapPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在包含Listbox的Window的ViewModel中,我为Usercontrol的DeleteButton创建了一个ICommand。
UserControl.xaml:
<UserControl x:Name="ucUsers" .....>
<TextBlock Text="{Binding LastSeen}" Width="140"/>
<Button Content="Delete"
IsEnabled="{Binding CanUserDelete}"
Command="{Binding ElementName=ucUsers, Path=DataContext.DeleteCurrentUser}">
</Button>
为什么我无法访问ViewModel的DeleteCurrentUser?
保罗答案 0 :(得分:1)
<Button Content="Delete"
IsEnabled="{Binding CanUserDelete}"
Command="{Binding Path=DataContext.DeleteCurrentUser, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}">