0

私のWPFアプリには、数百のテキストボックスが表示されるページがありMultiValueConverter、それらすべてに適用されています。このページがロードされているとき、コンバーターはすべてによって呼び出されていTextBoxます。これを最適化するにはどうすればよいですか? これがフォーカスTextBoxされたときにコンバーターを呼び出すようにしたい。TextBox

ありがとうございました。

のコードは次のConverterとおりです。

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();
    }
}

そして、これが私がどのように使用するかですConverter:

<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>
4

0 に答える 0