TimePicker
XAML ページでコントロールを使用しており、対応する の変更に反応しようとしていますViewModel
。イベントが呼び出されたときに を使用してコマンドをトリガーするために、名前空間をページに追加しましたXaml.Interactivity
。Xaml.Interactivity.Core
Behaviors SDK
TimeChanged
<!-- XAML Namespaces -->
xmlns:interact="using:Microsoft.Xaml.Interactivity"
xmlns:interactcore="using:Microsoft.Xaml.Interactions.Core"
<TimePicker x:Name="TestTimePicker" ClockIdentifier="24HourClock" Time="0">
<interact:Interaction.Behaviors>
<interactcore:EventTriggerBehavior EventName="TimeChanged">
<interactcore:InvokeCommandAction Command="{Binding DataContext.TimeChangedCommand}" CommandParameter="{Binding ElementName=TestTimePicker, Path=Time}" />
</interactcore:EventTriggerBehavior>
</interact:Interaction.Behaviors>
</TimePicker>
私のコードでは、私はとfromViewModel
を使用しています。ViewModelBase
DelegateCommand
Template10
public DelegateCommand<TimeSpan> StartTimeChangedCommand { get; set; }
public TestViewModel()
{
...
TimeChangedCommand = new DelegateCommand<TimeSpan>(TimeChangedAction);
...
}
private void TimeChangedAction(TimeSpan obj)
{
//do something with obj
}
ページが初期化されるInvalidOperationException
と、次のメッセージがスローされます。
Adding or removing event handlers dynamically is not supported on WinRT events.