MaterialDesignInXAML / MaterialDesignInXAML/MaterialDesignInXamlToolkit
[WIP] Draggable Dialog
Nessuno ha ancora preso questa issue.
- Lingua principale
- C#
- Stelle
- 16.3k
- Fork
- 3.5k
- Merge medio
- 1g 22h
- PR unite (30g)
- 8
Descrizione
As I know this is not part of Material Design spec.
But if you like to implement it in web, you have easy possibilities to do this with either React or Angular.
For phones I wouldn't like that feature, as you don't have any space to drag the dialog around, but for desktop applications or even on tablets this feature with a wider screens, makes sense, if you maybe like to see what was behind the dialog and it is somehow also Desktop-Application default/expected behavior for dialogs.
Current implementations
There are two styles, which can be applied to the dialog host.
- (default) - this style is based on a
Popup(PopupEx) for the dialog. MaterialDesignEmbeddedDialogHost- this style is based onGridfor the dialog.
Current behavior
The current behavior is, ...
- that a
Cardis set as theGridorPopupcontent. - that the dialog will be shown centered to the dialog host.
- that the content (
DialogHost.DialogContent,DialogHost.DialogContentTemplateetc.) is shown in the Card content. - that while resizing/dragging the dialog remains centered.
TBD
default
- As implemented as a popup the drag could be done anywhere on the screen and is not limited to the dialog host. Should this be allowed or should it be limited?
- Where should the dialog move on resize or drag of the host window? I think
PopupExhas already the right behavior, if the dialog is drawn in the window. But if you drag the popup out of the window boundaries should there still be a repositioning?
MaterialDesignEmbeddedDialogHost
- The drag here could be realized with margins. In opposite to the default style, this is already bounded to the dialog host content or maybe window content.
- As working with margins, on resize the dialog could disappear. Here we need to develop a resize/maximize/restore strategy.
both
- What should happen, if the dialog reopens? Should the last position persist (this would be kind of the default behavior, as the properties of the
Grid/Popupwould be modified on drag)? - Should this feature be opt-in or on by default (this would be a breaking change though)?
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia esaminando l’implementazione corrente delle finestre di dialogo Popup/PopupEx e l’implementazione di MaterialDesignEmbeddedDialogHost. Risolvi le decisioni elencate relative a limiti, ridimensionamento, riapertura, persistenza e comportamento di opt-in prima di implementare e validare finestre di dialogo trascinabili per entrambi gli stili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp
- Ambito
- design, desktop
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100