2012-09-06 3 views
2

Вы не можете определить содержимое окна дважды, но есть ли способ наложить сетку поверх другой сетки?Могу ли я расслоить сетку поверх другой сетки?

В моем конкретном случае я создаю шахматную игру, и я хочу, чтобы одна сетка управляла фигурами и их пользовательским интерфейсом, а другая сетка управляла черными и белыми квадратами. Я хочу сделать это таким образом (в отличие от использования одной сетки с разными индексами Z), потому что во время игры я хочу добавить Opaque Rectangles на квадраты, которые являются действительными ходами. Если я использую отдельную сетку, я могу очистить прямоугольники, выполнив myGrid.Children.Clear(), чтобы очистить квадратный пользовательский интерфейс, но сохраните кусочки на месте.

Другим решением было бы очистить всех детей от конкретного индекса Z. Это возможно?

Спасибо за помощь, я могу отправить код при необходимости!

+0

В настоящее время я использую сетку и устанавливаю индексы Z частей, которые я хочу очистить до 10. Затем я перебираю дочерние элементы и устанавливаю непрозрачность с индексом Z от 0 до 0. Это _very_ slow – Adam

+0

У меня есть кое-что, чтобы работать лучше ... Я отслеживаю, что должно отображаться в Массив прямоугольников. Каждый раз, когда мне нужно, я обновляю пользовательский интерфейс на основе состояния массива. Это намного быстрее – Adam

ответ

7

Наложение одной сетки на другую:

<Grid> 
<Grid x:Name="grid1" /> 
<Grid x:Name="grid2" /> 
</Grid> 
+0

Спасибо! Кажется, это именно то, что я хотел. Я не смог помещать обе сетки в другой тег сетки, поэтому я получал ошибки. – Adam

Смежные вопросы