gpt4 book ai didi

c# - 使用命令将参数传递到 View 模型

转载 作者:太空狗 更新时间:2023-10-29 20:58:24 25 4
gpt4 key购买 nike

我无法将参数从我的 View 发送到我的 View 模型。

View.xaml:

在我看来,我有以下几点:

<TextBox
MinWidth="70"
Name="InputId"/>

<Button
Command="{Binding ButtonCommand}"
CommandParameter="{Binding ElementName=InputId}"
Content="Add"/>

View.xaml.cs:

public MyView()
{
InitializeComponent();
}

public MyView(MyViewModel viewModel) : this()
{
DataContext = viewModel;
}

MyViewModel.cs:

public class MyViewModel : BindableBase
{
public ICommand ButtonCommand { get; private set; }

public MyViewModel()
{
ButtonCommand = new DelegateCommand(ButtonClick);
}

private void ButtonClick()
{
//Read 'InputId' somehow.
//But DelegateCommand does not allow the method to contain parameters.
}
}

有什么建议吗,当我点击按钮到我的 View 模型时,如何传递 InputId

最佳答案

您需要添加 <object>像这样给你的委托(delegate)命令:

public ICommand ButtonCommand { get; private set; }

public MyViewModel()
{
ButtonCommand = new DelegateCommand<object>(ButtonClick);
}

private void ButtonClick(object yourParameter)
{
//Read 'InputId' somehow.
//But DelegateCommand does not allow the method to contain parameters.
}

是否要获取文本框的文本,将 xaml 更改为:

CommandParameter="{Binding Text,ElementName=InputId}" 

关于c# - 使用命令将参数传递到 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35625533/

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