2013-03-27 2 views
1

Я пытаюсь поместить всплывающие всплывающие окна на экране. Я хочу, чтобы пользователь мог перемещать это всплывающее окно в любом месте экрана.manipulationdelta для всплывающего окна - XAML Windows 8

И поэтому я использую:

<Popup x:Name="myPopup" Grid.Row="0" Grid.RowSpan="2" Margin="0, 0, 0, 0" ManipulationMode="All" ManipulationDelta="PopupManipulationDelta" IsLightDismissEnabled="False" Visibility="Collapsed" IsOpen="false"> 

код позади:

private void PopupManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e) 
    { 
     var ct = (CompositeTransform)addShapesPopup.RenderTransform; 
     ct.TranslateX += e.Delta.Translation.X; 
     ct.TranslateY += e.Delta.Translation.Y;    
     UpdateLayout(); 
    } 

Но это не работает. Функция PopupManipulationDelta даже не вызвана.

Я пробовал использовать ту же логику в таких формах, как прямоугольник, эллипс, и там отлично работает.

Не могли бы вы помочь мне понять, почему он не работает с всплывающим окном?

спасибо.

ответ

0

Я считаю, что всплывающее окно не имеет визуального представления, поэтому оно не может реагировать на тестирование на попадание и, следовательно, на манипуляции событиями. Просто добавьте некоторый контроль внутри него и ответьте на входные события. Это может быть Grid с Background="Transparent", если вы не хотите, чтобы это было видно.

+0

получил работу с сеткой Большое спасибо Filip :) –

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