我的应用程序有5个文本框,我希望在ExecuteInsert
函数中包含其中的内容。现在我的Button
包含以下绑定。
<Button
Content="Add"
HorizontalAlignment="Left"
Margin="22,281,0,0"
VerticalAlignment="Top"
Width="75"
Command="{Binding Add}"
CommandParameter="{Binding ElementName=txtname}"
RenderTransformOrigin="1.023,0.765"/>
我的ExecuteInsert
函数如下。我只想传递多个命令参数意味着(多绑定)有人能帮忙吗??
private void ExecuteInsert(object obj)
{
TextBox textbox = obj as TextBox;
try
{
ExecuteConnect(obj);
oleDbCommand.CommandText = "INSERT INTO emp(FirstName)VALUES ('" + textbox.Text + "')";
oleDbCommand.ExecuteNonQuery();
MessageBox.Show("Data Saved");
}
catch (Exception ex)
{
MessageBox.Show("ERROR" + ex);
}
}
您必须为此创建Multivalueconverter:
Xaml:
转换器:
<local:MyConverter x:Key="myConverter" />
按钮:
<Button>
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource myConverter}">
<Binding Path="" ElementName=""/>
<Binding Path=""/>
<Binding Path=""/>
</MultiBinding>
</Button.CommandParameter>
</Button>
C#
public class MyConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return values;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
您将在命令处理程序中获得对象数组。
感谢
您的问题并不完全清楚,但我认为将5个文本框的内容传递给ExecuteInsert函数的最简单方法是将这些文本框中的每个绑定到viewmodel类中的一个属性,并在函数中使用这些属性。。。