【发布时间】:2012-03-15 13:38:06
【问题描述】:
我有一个用户控件“SubjectListView”。绑定设置为“AllSubjects”,它是 SubjectListViewModel 中的 ObservableCollection。它用于检索名称并执行命令。名称被检索,但是同样在 SubjectListViewModel 中的命令不会在按钮上执行,而是在没有在范围之外动态创建的按钮上工作。
有解决办法吗?
<StackPanel>
<ItemsControl ItemsSource="{Binding AllSubjects}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Width="100" Content="{Binding Name}" <!-- Is working-->
Command="{Binding InvasionCommand}" <!--Is NOT working--> />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Button Content="Check for Invasion" Width="120" Command="{Binding InvasionCommand}" <!-- Is working-->/>
</StackPanel>
【问题讨论】:
-
给你最外层的
StackPanel一个x:Name。在您的命令绑定上,使用ElementName指向命名的StackPanel,然后执行Path=DataContext.InvasionCommand -
@jberger 谢谢它现在正在工作:)