[英]WP7 XAML Bind to property in parent
我正在WP7(Silverlight 3)中编写一个应用程序。 我有一个看起来像这样的视图模型
public class MainViewModel
{
public List<ActivityTypes> ActivityTypes{get;set;}
public RelayCommand LoadActivity{get;set;}
}
我的页面数据上下文设置为视图模型,我有一个列表框,其项目源设置为ActivityTypes集合。 在列表框中,我尝试呈现一个按钮列表,这些按钮的命令绑定到viewmodel的LoadActivity属性。 如果您想知道RelayCommand是MVVM Light工具包的一部分,则可以使用它。
我遇到的问题是我找不到将按钮命令绑定到LoadActivity属性的方法,因为我的列表框的itemsource设置为Activitytypes集合,并且此属性位于父级中。 我已经阅读了有关FindAncester的信息,但Silverlight 3似乎不支持此功能。
我的XAML看起来像这样
<UserControl.Resources>
<DataTemplate x:Key="ActivityTypeListTemplate">
<StackPanel>
<Button Command="{Binding LoadActivity}"> <!--binding not found as we're in the collection-->
<TextBlock Text="{Binding Name}" FontSize="50"/>
</Button>
</StackPanel>
</DataTemplate>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
<ListBox Margin="0" ItemsSource="{Binding ActivityTypes}" ItemTemplate="{StaticResource ActivityTypeListTemplate}"/>
</Grid>
编写这样的代码的最佳方法是什么?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.