Esempio n. 1
0
        private void ClearUnVisibility()
        {
            int vOffset = (int)_scrollViewer.VerticalOffset;
            int hOffset = (int)_scrollViewer.HorizontalOffset;
            int aH      = (int)_scrollViewer.ActualHeight;
            int aW      = (int)_scrollViewer.ActualWidth;

            var rowFirst = vOffset / 256;
            var colFirst = hOffset / 256;
            var rowLast  = (aH + vOffset) / 256;
            var colLast  = (aW + hOffset) / 256;
            int rowCol   = (int)(_grid.Height / 256);

            if (rowLast < rowCol)
            {
                rowLast = rowLast + 1;
            }
            else
            {
                rowLast = rowCol;
            }

            if (colLast < rowCol)
            {
                colLast = colLast + 1;
            }
            else
            {
                colLast = rowCol;
            }

            _grid.Children.Clear();

            for (int i = rowFirst; i < rowLast; i++)
            {
                for (int j = colFirst; j < colLast; j++)
                {
                    Image tb   = new Image();
                    var   path = "MapWorld.MapWorld.Size" + _levelOfDetail + ".os_" + j + "_" + i + "_" + _levelOfDetail + ".png";
                    tb.Source = _baseA.GetPartMap(path);
                    // tb.Visibility = Visibility.Hidden;
                    Grid.SetRow(tb, i);
                    Grid.SetColumn(tb, j);
                    _grid.Children.Add(tb);
                }
            }
        }