【发布时间】:2013-04-03 21:15:49
【问题描述】:
如何在WPF 中从Button 发送多个参数?我能够正确发送 TextBox 的值的单个参数。这是代码。
XAML
<TextBox Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="133,22,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" />
<Button Content="Button" Grid.Row="1" Height="23" Command="{Binding Path=CommandClick}" CommandParameter="{Binding Text,ElementName=textBox1}" HorizontalAlignment="Left" Margin="133,62,0,0" Name="button1" VerticalAlignment="Top" Width="75" />
Code behind
public ICommand CommandClick { get; set; }
this.CommandClick = new DelegateCommand<object>(AddAccount);
private void AddAccount(object obj)
{
//custom logic
}
【问题讨论】:
-
如果您描述您想要的确切参数、它们的类型以及原因,我们可能会提供帮助。命令参数只有一个“绑定”,但根据您的需要还有其他选项,请提供更多信息。
-
您可以在一个参数中转换多个参数,例如使用 object[](对象数组),但是您需要将所有这些参数转换为后面。还是有什么问题?
-
嗨,J King,它会是另一个控件。一个文本框可能是一个很好的假设。
-
我同意 reed 的回答,在不确切知道您需要文本框的情况下,最好的方法是在命令执行中使用视图模型中的绑定属性。否则,如果文本框是列表框、数据网格、组合框等的一部分,那么您可以传递控件的选定项,这将为您提供更多选项。
标签: c# wpf button mvvm icommand