using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using VisionCommon;
using VisionUI;
using VisionUI.Camera;
using VisionUI.Pattern;
namespace WeldingCommon.Views.Manual
{
///
/// UCManualModelFinder.xaml에 대한 상호 작용 논리
///
public partial class UCManualModelFinder : UserControl
{
private UCManualModelFinderViewModel _ViewModel;
private FovInfo _FovInfo;
private UserControl _cameraView;
public UCManualModelFinder(UCManualModelFinderViewModel viewModel)
{
InitializeComponent();
_ViewModel = viewModel;
DataContext = _ViewModel;
_FovInfo = VisionRecipeManager.GetFovInfos().FirstOrDefault();
//CreateScannerCameraView();
}
private void CreateScannerCameraView()
{
if (gridScannerCameraView.Children.Count == 0) {
var fovInfo = VisionRecipeManager.GetFovInfos().FirstOrDefault();
if (fovInfo != null) {
_cameraView = IpViewManager.CreateCameraView(fovInfo, eDisplayType.Pattern);
gridScannerCameraView.Children.Add(_cameraView);
}
}
}
private void uc_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
{
bool isVisible = (bool)e.NewValue;
if (isVisible == true) {
// 끝날 때, Dispose 시키면 아예 지워짐. 처음 시작할 때, 비우고 다시 시작하는 것이 임시방편으로 좋을 듯 함.
Dispose();
RefreshVisionRecipes();
CreateCameraView();
CreatePatternListView();
} else {
CameraUcManager.Instance.StopLiveAll();
}
}
private void TreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs