private void MemoryPictureList_OnPictureLocationComfirmed(object sender, LocationMemoryPictureItem item)
        {
            try
            {
                _selectedLocationTestingPictureList.Add(item);
                //提示结果
                var resultTipText = _memorizedPictureList.Any(i => i.PictureItem == item.PictureItem && i.Location == item.Location) ? "正确" : "错误";
                SetResultTip(resultTipText);

                if (sender is MemoryPictureListControl memoryPictureListControl &&
                    _selectedLocationTestingPictureList.Count >= memoryPictureListControl.TrainingStageSetting.ClickMaxLimit)
                {
                    TestingCompleted?.Invoke(this, EventArgs.Empty);
                }
                else
                {
                    var memorizedPictureList = _memorizedPictureList;
                    var random = new Random();
                    MemoryPictureItem visibileRandomPictureItem = null;
                    while (visibileRandomPictureItem == null)
                    {
                        var visibileRandomIndex = random.Next(memorizedPictureList.Count);
                        var randomPictureItem   = memorizedPictureList[visibileRandomIndex].PictureItem;
                        if (_selectedLocationTestingPictureList.All(i => i.PictureItem != randomPictureItem))
                        {
                            visibileRandomPictureItem = randomPictureItem;
                        }
                    }

                    visibileRandomPictureItem.IsPictureVisibile = true;
                }
            }
        private void MemoryPictureList_OnPictureLocationComfirmed(object sender, LocationMemoryPictureItem item)
        {
            //TODO 记录
            _selectedLocationTestingPictureList.Add(item);
            //提示结果
            var resultTipText = _memorizedPictureList.Any(i => i.PictureItem == item.PictureItem && i.Location == item.Location) ? "正确" : "错误";

            SetResultTip(resultTipText);

            if (sender is FamiliarMemoryListControl memoryPictureListControl &&
                _selectedLocationTestingPictureList.Count >= memoryPictureListControl.TrainingStageSetting.ClickMaxLimit)
            {
                TestingCompleted?.Invoke(this, EventArgs.Empty);
            }
        private void MemoryPictureList_OnPictureLocationComfirmed(object sender, LocationMemoryPictureItem checkedPictureItem)
        {
            try
            {
                //记录位置测试结果
                var memorizedPictureList       = GetLastThreeMemorizedPictures();
                var memorizedMemoryPictureItem = memorizedPictureList.First(i => i.PictureItem == checkedPictureItem.PictureItem);
                var isRightLocation            = checkedPictureItem.Location == memorizedMemoryPictureItem.Location;
                _currentTestRecordInfo.LocationTestingClickInfos.Add(new TestingClickInfo()
                {
                    PictureName = Path.GetFileNameWithoutExtension(memorizedMemoryPictureItem.PictureItem.ImageUri),
                    Location    = checkedPictureItem.Location,
                    IsMatchedByUserComfirmed = checkedPictureItem.IsMatchedByUserComfirmed,
                    IsRight = isRightLocation ? checkedPictureItem.IsMatchedByUserComfirmed : !checkedPictureItem.IsMatchedByUserComfirmed
                });

                _selectedLocationTestingPictureList.Add(checkedPictureItem);
                if (sender is MemoryPictureListControl memoryPictureListControl &&
                    _selectedLocationTestingPictureList.Count >= memoryPictureListControl.TrainingStageSetting.ClickMaxLimit)
                {
                    ////完成一轮测试
                    _selectedLocationTestingPictureList.Clear();
                    CompleteOneRoundTest();
                }
                else
                {
                    var random = new Random();
                    MemoryPictureItem visibileRandomPictureItem = null;
                    while (visibileRandomPictureItem == null)
                    {
                        //var visibileRandomIndex = random.Next(memorizedPictureList.Count);
                        var randomPictureItem = memorizedPictureList[_selectedLocationTestingPictureList.Count].PictureItem;
                        if (_selectedLocationTestingPictureList.All(i => i.PictureItem != randomPictureItem))
                        {
                            visibileRandomPictureItem = randomPictureItem;
                        }
                    }

                    visibileRandomPictureItem.IsPictureVisibile = true;
                }
            }
        private void MemoryPictureList_OnPictureLocationComfirmed(object sender, LocationMemoryPictureItem checkedPictureItem)
        {
            //记录位置测试结果
            var memorizedPictureList       = GetLastThreeMemorizedPictures();
            var memorizedMemoryPictureItem = memorizedPictureList.First(i => i.PictureItem == checkedPictureItem.PictureItem);
            var isRightLocation            = checkedPictureItem.Location == memorizedMemoryPictureItem.Location;

            _currentTestRecordInfo.LocationTestingClickInfos.Add(new TestingClickInfo()
            {
                PictureName = Path.GetFileNameWithoutExtension(memorizedMemoryPictureItem.PictureItem.ImageUri),
                Location    = checkedPictureItem.Location,
                IsMatchedByUserComfirmed = checkedPictureItem.IsMatchedByUserComfirmed,
                IsRight = isRightLocation ? checkedPictureItem.IsMatchedByUserComfirmed : !checkedPictureItem.IsMatchedByUserComfirmed
            });

            _selectedLocationTestingPictureList.Add(checkedPictureItem);
            if (sender is TestMemoryListControl memoryPictureListControl &&
                _selectedLocationTestingPictureList.Count >= memoryPictureListControl.TrainingStageSetting.ClickMaxLimit)
            {
                ////完成一轮测试
                _selectedLocationTestingPictureList.Clear();
                CompleteOneRoundTest();
            }