gpt4 book ai didi

wpf - 如何在 WPF 中将 ItemsSource 的索引作为 CommandParameter 传递

转载 作者:行者123 更新时间:2023-12-05 08:10:04 29 4
gpt4 key购买 nike

在 WPF 中:如何将 ItemsSource 循环的索引作为 CommandParameter 传递?

<ItemsControl ItemsSource="{Binding PageList}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button
Content="{Binding Name}"
Command="{Binding DataContext.ChangePageCommand, ElementName=Window}"
CommandParameter="INDEX OF ACTUAL ITEM AT ITEMSSOURCE GOES HERE" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

所以,我想要的是将按下的按钮编号传递给 Command 方法。

谢谢!

最佳答案

简单的方法。

首先,螺旋索引。他们很烂。绑定(bind)到 SelectedItem

<ItemsControl ItemsSource="{Binding PageList}" SelectedItem="{Binding SelectedPage}">

现在,您不必尝试将索引传递给参数,因为所选页面已经在您的 ViewModel 中。

// set in the ctor
public ObservableCollection<Page> PageList {get;private set;}
// Omitting INPC stuff in the setter
public Page SelectedPage {get;set;}

// Here's the Execute method of the ICommand
private void ExecuteChangePageCommand(object parameter)
{
// lol screw the parameter
var currentPage = SelectedPage;
UpdateSelectedPageOrDoWhateverLolKthx(currentPage);
}

关于wpf - 如何在 WPF 中将 ItemsSource 的索引作为 CommandParameter 传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27528742/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com