Windows phone 7 Windows Phone 7链接到数据模板内的事件
我有一个列表框,我在其中创建了一个带有DataTemplate的Itemtemplate。我希望能够为datatemplate中的复选框和按钮编写事件,但它们似乎没有触发 这是我的xaml,基本上我只是尝试在事件函数中显示messagebox.show(“工作”)Windows phone 7 Windows Phone 7链接到数据模板内的事件,windows-phone-7,Windows Phone 7,我有一个列表框,我在其中创建了一个带有DataTemplate的Itemtemplate。我希望能够为datatemplate中的复选框和按钮编写事件,但它们似乎没有触发 这是我的xaml,基本上我只是尝试在事件函数中显示messagebox.show(“工作”) <ListBox x:Name="ListBox_Items" Margin="0,91,0,8" Foreground="#FF4BE5DB"> <ListBox.ItemTemplate>
<ListBox x:Name="ListBox_Items" Margin="0,91,0,8" Foreground="#FF4BE5DB">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Width="700">
<CheckBox IsChecked="{Binding needPurchase}" Click="NeedPurchase_Click" Name="CheckBox_NeedPurchase"/>
<CheckBox IsChecked="False" Name="InCart"/>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding name}"/>
<TextBlock Text="{Binding storeLocation}"/>
</StackPanel>
<Button HorizontalAlignment="Right" Content="DELETE" Click="Button_Click" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
对于初学者,您需要从模板中的所有控件中删除名称。如果列表中有10个项目,则将有10组名称相同的控件无法使用。对于初学者,您需要从模板中的所有控件中删除该名称。如果列表中有10个项,那么将有10组同名的控件无法工作。因为这些项是在DataTemplate中定义的,它们没有连接到父类的代码。如果要处理模板化项目的事件,则应考虑使用命令来代替。如果您不知道什么是命令(因此不太可能知道什么是MVVM),那么您应该查看一个解释。因为这些项是在DataTemplate中定义的,它们没有连接到父类的代码。如果要处理模板化项目的事件,则应考虑使用命令来代替。如果您不知道什么是命令(因此不太可能知道什么是MVVM),那么您应该查看一个解释。我同意使用命令是最好的方法
但是,如果仍要评估ItemTemplate/DataTemplate中的控件(并订阅某些事件),则可以使用VisualTreeHelper来完成此操作 我同意使用命令是最好的方法 但是,如果仍要评估ItemTemplate/DataTemplate中的控件(并订阅某些事件),则可以使用VisualTreeHelper来完成此操作