Всплывающее окно в Silverlight не обрезается контролем контейнера - PullRequest
0 голосов
/ 17 марта 2011

Простая, но неприятная проблема здесь ...

У меня есть элемент управления PopUp.

Он содержится в стороне Grid, для которой определен Grid.Clip.

Всплывающее окно все еще видно за пределами области обрезки сетки.

т.е.

<Grid Background="Red" Width="150" Height="150">
    <Grid.Clip>
        <RectangleGeometry Rect="0,0,150,150" />
    </Grid.Clip>
    <Popup IsOpen="True" Margin="100,100,0,0">
        <Grid Background="Green" Width="150" Height="150" />
    </Popup>
</Grid>

В идеале зеленое поле не должно появляться или «кровоточить» вне красного поля.Проблема в том, что он содержится внутри всплывающего окна, и поэтому он кровоточит.Как я могу изменить это (не удаляя элемент управления PopUp), чтобы всплывающее окно не кровоточило за пределами содержащего его элемента управления?

1 Ответ

0 голосов
/ 18 марта 2011

Popup работает по-другому. Он «игнорирует» своего родителя и добавляется непосредственно в визуальный корень вашего приложения. Вот как это может быть сверху всего.

Так что теперь это зависит от того, что вы пытаетесь сделать. Я думаю, что всплывающее окно не подходит для этого сценария. Вы можете попробовать вставить всплывающее окно в его шаблон, но я чувствую, что это не то, что вам нужно.

...