Я новичок в программировании на C# и xaml. Я начал модифицировать решение KinectExplorer-WPF для Microsoft Kinect, чтобы сделать его полезным для моих целей. Я модифицирую окно Kinect, чтобы добавить новую панель, на которой я показываю последовательность изображений, представляющих некоторые положения, в которые может попасть человек, стоящий перед Kinect. Это код, который я добавил в KinectWindow.xaml:
<StackPanel Orientation="Vertical" Grid.Row="1" Grid.RowSpan="2" Margin="0,10" HorizontalAlignment="Center" Width="400" >
<Grid Name="ExerciseViewerHost" Width="398" Height="645" Margin="0,0,0,0">
<Grid Name="ExerciseVis" Background="{StaticResource DarkNeutralBrush}">
<Viewbox Stretch="Uniform" HorizontalAlignment="Center" VerticalAlignment="Center">
<Image Name="Exerc" CommandManager.Executed="Change_Position" Margin="5 5 5 5" />
</Viewbox>
<TextBlock x:Name="txtBox1" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="30" FontWeight="DemiBold" Text="{Binding TextBox1Text, ElementName=root}" TextAlignment="Center" Margin="36,105,36,0" Height="45" Width="328" />
</Grid>
</Grid>
</StackPanel>
«Change_Position» — это событие, которое меняет изображение при достижении параметра (в частности, максимального значения счетчика), и оно определено в KinectWindow.xaml.cs как
private void Change_Position(object sender, EventArgs e)
и он запускается DispatcherTimer
каждые 0 секунд в
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(Change_Position);
dispatcherTimer.Interval = new TimeSpan(0, 0, 0);
dispatcherTimer.Start();
Код, который я описал, работает правильно, но мой вопрос очень прост... есть ли более "элегантный" способ запускать это событие постоянно (не с помощью таймера)? Есть ли у кого-нибудь части кода, которые могли бы поделиться со мной, чтобы решить мою проблему? Заранее спасибо!