S'il n'y a pas d'option Modeless (?), Existe-t-il un autre moyen de créer une petite boîte de dialogue/fenêtre/page d'information mobile en haut de ma page. Je dois garder cela comme référence, mais être mobile afin que l'information sous-jacente puisse être révélée. Visual Studio 2015, application Future Store. Merci.C# UWP Windows 10 CustomDialog: Comment vous montrer comme Modeless? Je ne peux pas laisser geler l'information derrière.
0
A
Répondre
0
Vous ne pouvez pas rendre le modèle standard de boîte de dialogue. Pour réaliser ce que vous voulez, vous devriez utiliser un panneau personnalisé sur le dessus de votre page avec des événements de manipulation accrochés. Par exemple:
<Grid x:Name="LayoutRoot">
<!-- some other content -->
<Grid x:Name="Dialog" Background="Red" Width="200" Height="100"
ManipulationMode="All" ManipulationDelta="Dialog_OnManipulationDelta">
<Grid.RenderTransform>
<CompositeTransform x:Name="DialogTransform" />
</Grid.RenderTransform>
</Grid>
</Grid>
et le code derrière:
private void Dialog_OnManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs args)
{
DialogTransform.TranslateX += args.Delta.Translation.X;
DialogTransform.TranslateY += args.Delta.Translation.Y;
}
Ensuite, vous pouvez construire plus logique complexe comme des animations affichage/masquage, boutons de fermeture, etc.
Cela fonctionne très bien. Est-il possible de récupérer ma capacité de sélection dans une TextBox contenue? Je vais sélectionner le texte et la boîte se déplace à la place de l'affichage. Nouveau à l'utilisation de OnManipulationDelta. – Rick
Peu importe. Je l'ai corrigé avec ceci: – Rick
private OnTextBoxMainipulation (expéditeur d'objet, Windows.UI.Xaml.Input.ManipulationDeltaRoutedEventArgs e) { DialogTransform.TranslateX- = e.Delta.Translation.X; DialogTransform.TranslateY- = e.Delta.Translation.Y; } – Rick