【发布时间】:2013-08-07 18:13:02
【问题描述】:
我已经构建了一个带有一些字段的用户控件和一个删除按钮。 我想在列表框的 DataTemplate 中使用这个用户控件。
Window.xaml:
<ListBox ItemsSource="{Binding Users}">
<ListBox.ItemTemplate>
<DataTemplate>
<WrapPanel>
<my:User x:Name="user1" />
</WrapPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在包含列表框的窗口的 ViewModel 中,我为用户控件的 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?
保罗
【问题讨论】:
-
如果你在 UserControl 中有你的 del 按钮,为什么你需要命令。只需使用 del 的按钮单击事件。你想在 del click 上做什么?
-
试试
Command="{Binding DataContext.DeleteCurrentUser, RelativeSource={RelativeSource AncestorType=ListBox}}"。