我的XAML代码中有一个列表视图,用于显示列表中的项目,当我双击它时,我想“选择”。
<ListView x:Name="sounds">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" DoubleTapped="select_cue({Binding})">
<TextBlock .../>
<Slider .../>
...
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我希望在StackPanel为“DoubleTapped”时调用我的C#代码中的函数。
public void select_cue(SoundCue cue) {
//find cue in list of cues
//make current cue point to passed in cue if it is in the list
}
然而,当我尝试编译它时,我得到“错误:CS1026)”。我试图搜索我确定存在的这个功能(因为类似AngularJS的应用程序API的样式确实具有此功能)。
答案 0 :(得分:1)
您需要以稍微不同的方式更改访问项目的模式。
<ListView x:Name="sounds">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" DoubleTapped="StackPanel_DoubleTapped">
<TextBlock .../>
<Slider .../>
...
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
你的 StackPanel_DoubleTapped 将是
private void StackPanel_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
//Since you are databinding your sounds, sounds.SelectedItem will be your selected cue.
}