私はXamarin Formsアプリケーション(Prism)でXuni calendar controlを使いたいと思っています。 どうすればいいですか?Prismを使用してViewModelのコマンドにカレンダーコントロールのSelectionChangingイベントをバインドするには、コードを使用したくないためです。 これまでの私のXAMLです。XuniカレンダーSelectionChangingイベントをViewModelにバインドする(Xamarin Forms with Prism)
<xuni:XuniCalendar x:Name="calendar" MaxSelectionCount="-1" Grid.Row="0" Grid.ColumnSpan="2">
<xuni:XuniCalendar.Behaviors>
<b:EventToCommandBehavior EventName="SelectionChanging" Command="{Binding SelectionChangingCommand}"
EventArgsConverter="{StaticResource selectionChangingEventArgsConverter}" />
</xuni:XuniCalendar.Behaviors>
</xuni:XuniCalendar>
これは私のコンバータです:
public class SelectionChangingEventArgsConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var selectionChangingEventArgs = value as CalendarSelectionChangingEventArgs;
if (selectionChangingEventArgs == null)
{
throw new ArgumentException("Expected value to be of type SelectionChangingEventArgs", nameof(value));
}
return selectionChangingEventArgs.SelectedDates;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
そしてここでは、私のViewModelにコマンドです:
public DelegateCommand SelectionChangingCommand => new DelegateCommand(SelectionChanging);
private void SelectionChanging()
{
throw new NotImplementedException();
}
私はすべてのエラーを得ることはありませんが、ViewModelにでSelectionChangingCommandがトリガされていません。
おかげで、あなたが実際にコンバータを作成する必要はありません ウーヴェ
に次のように必要になり
List<DateTime>
です。ありがとう!私は "Path"を "EventArgsParameterPath"に置き換えて実行させるだけでした。 –