IMultiValueConverter を介してコマンドに (コマンド パラメーターとして) いくつかの値を渡そうとしています。値がコンバーターを通過するときは正しいのですが、Can_Execute() および Execute() コマンドが呼び出されると、null オブジェクトの配列が取得されます。何か案は?
Xaml:
<Button Content="+" HorizontalAlignment="Right" VerticalAlignment="Top" Width="23" Height="23" Margin="0,0,0,0">
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource Converter_MultipleValues}">
<Binding/>
</MultiBinding>
</Button.CommandParameter>
<Button.Command>
<Binding Path="Command_Add_Files" Source="{StaticResource Vm_FileList}"/>
</Button.Command>
</Button>
IMultiValueConverter クラス:
class cvt_multivalue : IMultiValueConverter {
public object Convert (object[] Values, Type Target_Type, object Parameter, CultureInfo culture) {
if (Target_Type != typeof (object)) throw new NotSupportedException ();
return Values;
}
public object [] ConvertBack (object Value, Type [] Target_Type, object Parameter, CultureInfo culture) {
throw new NotSupportedException ();
}
}
MultiBinding とコンバーターを使用していないときは、コードは問題なく機能しましたが、コマンドに追加情報を渡すことができるように、MultiBinding が必要です。