gpt4 book ai didi

从列表框项目模板中的按钮调用 Silverlight 命令

转载 作者:行者123 更新时间:2023-12-03 10:24:23 25 4
gpt4 key购买 nike

我已经看到这个问题被问了几次,但我还没有看到能够找到我的场景的完整答案。

在我的项目中,我有一个作为列表框项创建的用户控件。在这个用户控件中,我有一个按钮

            <Button x:Name="DetailButton"
Grid.Column="1"
Width="107"
Height="23"
Margin="196,94,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Click="MoreDetail_Click"
Command="{Binding GetCFSDetailCommand}"
Content="View Details [+]" />

该按钮具有特定于 View 的单击事件,这基本上根据可见性状态展开或折叠网格行。我在这里使用了一个事件,因为它是特定于 ui 的。此按钮还有一个在 VM 中调用的命令。

虚拟机代码
public class SearchViewModel : INotifyPropertyChanged
{
private DelegateCommand _getCFSDetailCommand;
public DelegateCommand GetCFSDetailCommand
{
get
{
if (this._getCFSDetailCommand == null)
this._getCFSDetailCommand = new DelegateCommand(GetCFSDetailCommandExecute, CanGetCFSDetailCommandExecute);

return this._getCFSDetailCommand;
}

}
private void GetCFSDetailCommandExecute(object parameter)
{
//bind collection to model call here
}

我遇到的问题是按钮上的命令“丢失”或在列表框项内时从未调用过,我将 View 绑定(bind)到 vm,如果我将此命令放在 View 内的任何其他按钮上,则调用该命令。谁能帮我理解如何调用绑定(bind)到列表框项目中按钮的命令?

先感谢您

最佳答案

兰迪克,
在您的原始(第一篇)帖子中,您绑定(bind)了 CommandParameter到列表项的本地数据上下文。在第二篇文章中,您错过了该绑定(bind),我认为在第二个端口的上下文中这是不可能的。
在您的情况下,我建议使用 Element to Element binding绑定(bind)到 GetCFSDetailCommand来自父数据上下文的命令。

关于从列表框项目模板中的按钮调用 Silverlight 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6202741/

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