0
私はコンバータのパラメータでバインドするための一般的な機能を持っています。私はnullを渡したいコンバータを必要としないが、それは私を聞かせていないとき、それは言う:コンバータがnullだった場合、私がチェックし、私は問題を推測コンバータの値をヌルに設定する
Cannot set MultiBinding because MultiValueConverter must be specified.
機能でそれを割り当てる前にIMultiValueConverter
は値としてnullを受け入れないということです。
これを実現するには、入力を返すコンバータまたはオーバーロードされたメソッドを作成せずに、これを達成するにはどうしますか?言い換えれば
protected MultiBinding CreateBinding(object source, IMultiValueConverter converter, object parameter, object [] dps)
{
MultiBinding multiBinding = new MultiBinding();
if (converter != null)
multiBinding.Converter = converter;
multiBinding.ConverterParameter = parameter;
.....
私は上記の機能を使用して、コンバータなしで結合の直接プロパティをシミュレートします。
バインディングを設定するたびに4行を入力したくない場合は、あまりにも多くの領域が必要です。私は、4つのパラメータを考慮してバインディングを作成できる汎用関数が必要です。これは、パラメータを使用した単一バインディングまたはマルチバインディングです。私はあなたがStringFormatと言っているときにあなたが何を参照しているのかわからない、あなたはそれを渡すべき値として渡すことを意味する。 – mihajlv
次に、ソースが1つだけの場合はバインディングを使用し、複数のソースを持つ場合はマルチバインディングを使用します。 – alf
私は、関数が単一または複数の戻り値の型を持たなければならないので、オーバーロードされたメソッドまたは2つの別々のメソッドを持つ必要があります。 – mihajlv