private void ColorSourcePickerComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (ColorSourcePickerComboBox.SelectedItem != null)
{
//Remove the events from the previous selection
if (server != null)
{
for (int i = 0; i < server.kinects.Count; i++)
{
if (server.kinects[i].uniqueKinectID == ColorStreamUniqueID)
{
server.kinects[i].ColorFrameReceived -= MainWindow_ColorFrameReceived;
server.kinects[i].SkeletonChanged -= MainWindow_SkeletonChangedColor;
ColorStreamUniqueID = "";
}
}
}
//Add the new frame event
if (ColorSourcePickerComboBox.SelectedItem.ToString().ToLower() == "none")
{
ColorStreamUniqueID = "";
ColorImage.Visibility = System.Windows.Visibility.Hidden;
//Set the frame rate display to 0
ColorFPSTextBlock.Text = "0.0";
colorTimeIntervals.Clear();
lastColorTime = new TimeSpan(0);
}
else
{
string temp = ColorSourcePickerComboBox.SelectedItem.ToString().ToLower().Replace("kinect ", "");
int kinectIndex = -1;
if (int.TryParse(temp, out kinectIndex))
{
ColorStreamUniqueID = server.kinects[kinectIndex].uniqueKinectID;
ColorImage.Visibility = System.Windows.Visibility.Visible;
server.kinects[kinectIndex].ColorFrameReceived += MainWindow_ColorFrameReceived;
server.kinects[kinectIndex].SkeletonChanged += MainWindow_SkeletonChangedColor;
}
}
}
}