Auto Refresh & List Selection

This commit is contained in:
Marvin Lehmann 2019-06-27 20:45:10 +02:00
parent 62cce5d678
commit 40f9dd06af
1 changed files with 25 additions and 2 deletions

View File

@ -40,11 +40,22 @@ namespace FrontEnd
ToolTip = cam.Label ToolTip = cam.Label
}; };
img.MouseDown += Cam_MouseDown; img.MouseDown += Cam_MouseDown;
img.MouseEnter += Img_MouseEnter;
cnvMap.Children.Add(img); cnvMap.Children.Add(img);
Canvas.SetLeft(img, pos.X - img.Width / 2); Canvas.SetLeft(img, pos.X - img.Width / 2);
Canvas.SetTop(img, pos.Y - img.Height / 2); Canvas.SetTop(img, pos.Y - img.Height / 2);
} }
private void Img_MouseEnter(object sender, MouseEventArgs e)
{
var cam = (Cam)((Image)sender).Tag;
var newSelection = from ListBoxItem item in lstDevices.Items
where cam.Label.Equals(item.Content)
select item;
if (newSelection.Any())
lstDevices.SelectedItem = newSelection.First();
}
private void Cam_MouseDown(object sender, MouseButtonEventArgs e) private void Cam_MouseDown(object sender, MouseButtonEventArgs e)
{ {
var cam = (Cam)((Image)sender).Tag; var cam = (Cam)((Image)sender).Tag;
@ -63,14 +74,25 @@ namespace FrontEnd
Fill = client.Status ? Brushes.Green : Brushes.Red, Fill = client.Status ? Brushes.Green : Brushes.Red,
Stroke = Brushes.Black, Stroke = Brushes.Black,
StrokeThickness = 1, StrokeThickness = 1,
ToolTip = client.Label ToolTip = client.Label,
Tag = client
}; };
ellipse.MouseEnter += Ellipse_MouseEnter;
cnvMap.Children.Add(ellipse); cnvMap.Children.Add(ellipse);
Canvas.SetLeft(ellipse, pos.X - ellipse.Width / 2); Canvas.SetLeft(ellipse, pos.X - ellipse.Width / 2);
Canvas.SetTop(ellipse, pos.Y - ellipse.Height / 2); Canvas.SetTop(ellipse, pos.Y - ellipse.Height / 2);
} }
private void Ellipse_MouseEnter(object sender, MouseEventArgs e)
{
var client = (Client)((Ellipse)sender).Tag;
var newSelection = from ListBoxItem item in lstDevices.Items
where client.Label.Equals(item.Content)
select item;
if (newSelection.Any())
lstDevices.SelectedItem = newSelection.First();
}
private void Window_Loaded(object sender, RoutedEventArgs e) private void Window_Loaded(object sender, RoutedEventArgs e)
{ {
LoadInformation(); LoadInformation();
@ -83,6 +105,7 @@ namespace FrontEnd
private void dispatcherTimer_Tick(object sender, EventArgs e) private void dispatcherTimer_Tick(object sender, EventArgs e)
{ {
var selectedItem = (ListBoxItem)lstDevices.SelectedItem; var selectedItem = (ListBoxItem)lstDevices.SelectedItem;
LoadInformation();
if (selectedItem != null) if (selectedItem != null)
{ {
var newSelection = from ListBoxItem item in lstDevices.Items var newSelection = from ListBoxItem item in lstDevices.Items