C# 需要时调用转换器

C# 需要时调用转换器,c#,.net,wpf,converter,C#,.net,Wpf,Converter,在我的WPF应用程序中,我有一个页面,其中可以显示数百个文本框,我有一个多值转换器。加载此页面时,每个文本框都会调用转换器。我应该做些什么来优化它?我想制作一个TextBox,在该TextBox获得焦点时调用转换器 多谢各位 以下是转换器的代码: public class TupleParametersConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, ob

在我的
WPF
应用程序中,我有一个页面,其中可以显示数百个文本框,我有一个
多值转换器
。加载此页面时,每个
文本框都会调用转换器。我应该做些什么来优化它?我想制作一个
TextBox
,在该
TextBox
获得焦点时调用转换器

多谢各位

以下是
转换器的代码

public class TupleParametersConverter : IMultiValueConverter 
{
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    {
        if (values.Length != 2) return null;

        var controlName = values[0];
        var measurement = values[1] as Measurement;

        return new Tuple<string, Measurement>(controlName.ToString(), measurement);
    }

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}
<i:EventTrigger EventName="GotFocus">
   <i:InvokeCommandAction Command="{Binding DataContext.ConnectToDeviceCommand, ElementName=MainItemControl}">
        <i:InvokeCommandAction.CommandParameter>
          <MultiBinding Converter="{StaticResource TupleParametersConverter}">
               <Binding RelativeSource="{RelativeSource AncestorType={x:Type TextBox}}" Path="Name"/>
               <Binding />
          </MultiBinding>
       </i:InvokeCommandAction.CommandParameter>
   </i:InvokeCommandAction>
</i:EventTrigger>

此转换器用于什么?将参数作为命令参数传递到viewmodel