私は wpf + mvvm を使用しており、条件付きコンバーターを実装しようとしています。これが私がxamlでやっていることです:
<CheckBox.IsChecked>
<MultiBinding Converter="{StaticResource pageSourceConverter}">
<Binding Path="CurrentPage.Source"/>
<Binding Path="Project.Type1.MachineTypes.Rotating"/>
<Binding Path="Project.Type2.MachineTypes.Rotating" />
<Binding Path="Project.Type3.MachineTypes.Rotating" />
<Binding Path="Project.Type4.MachineTypes.Rotating" />
</MultiBinding>
</CheckBox.IsChecked>
そしてマルチコンバーター:
public class PageSourceConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
String pageSource = values[0] as String;
if (pageSource == "Type1")
return values[1];
else if (pageSource == "Type2")
return values[2];
else if (pageSource == "Type3")
return values[3];
else if (pageSource == "Type4")
return values[4];
else
return null;
}
public object[] ConvertBack(object value, Type[] targetType, object parameter, CultureInfo culture)
{
return null;
}
}
だから私がやりたいことは、ユーザーがいるページの種類に基づいて、viewController にあるさまざまなモデルにページ上の要素を条件付きでバインドすることです。
コンバートバックのために何をする必要がありますか? 戻り配列のどの要素に値が属しているかを知る方法がわかりません。何か案は?