私の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>