« Window » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
[[Category:WPF]] | [[Category:WPF]] | ||
= XML Namespaces = | |||
<kode lang='xaml'> | |||
<Window x:Class="MyNamespace.MainWindow" | |||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | |||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | |||
xmlns:local="clr-namespace:MyNamespace" | |||
mc:Ignorable="d"> | |||
</kode> | |||
= Propriétés utiles = | = Propriétés utiles = | ||
{| class="wikitable wtp" | {| class="wikitable wtp" | ||
Ligne 18 : | Ligne 29 : | ||
= Design properties = | = Design properties = | ||
<kode lang='xaml'> | <kode lang='xaml'> | ||
<Window | <Window d:Height="450" | ||
d:Width="800" | |||
Width="800" | |||
d:DataContext="{d:DesignInstance local:MainWindowViewModel}"> | d:DataContext="{d:DesignInstance local:MainWindowViewModel}"> | ||
</kode> | </kode> |
Version du 13 mai 2020 à 13:58
XML Namespaces
<Window x:Class="MyNamespace.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:MyNamespace" mc:Ignorable="d"> |
Propriétés utiles
Propriété | Valeur |
---|---|
WindowStyle | ToolWindow |
ResizeMode | NoResize |
SizeToContent | WidthAndHeight |
WindowStartupLocation | CenterOwner |
Title | Mon Titre |
Design properties
<Window d:Height="450" d:Width="800" d:DataContext="{d:DesignInstance local:MainWindowViewModel}"> |
Événement Closed vs Closing
Closing est appelé juste après la méthode Window.Close().
La gestion de l’événement Closing permet d’annuler la fermeture de la fenêtre.
void Window_Closing(object sender, CancelEventArgs e) { e.Cancel = true; |
Closed est lui appelé juste avant que le fenêtre ne se ferme.
Maximiser une fenêtre
<Window WindowState="Maximized"> |
Application.Current.MainWindow.WindowState = WindowState.Maximized; |
Héritage de fenêtre
Ici Window1 hérite de WindowBase, cela n'est possible que si WindowsBase ne contient pas de XAML.
namespace Vues { public class WindowBase : Window { ... } public class Window1 : WindowBase { ... } } |
<vues:WindowBase x:Class="Vues.Windows1" xmlns:vues="clr-namespace:Vues"> |
Ouvrir une seconde fenêtre
// depuis le code behind var childWindow = new Window() { Owner = this }; // définir la fenêtre courante comme parente childWindow.Height = 100; childWindow.Width = 50; var stackPanel = new StackPanel(); var button = new Button(); button.Content = "Ok"; // le bouton de validation est celui qui possède la propriété IsDefault à true button.IsDefault = true; button.Click += (_sender, _e) => { window.DialogResult = true; window.Close(); }; stackPanel.Children.Add(button); childWindow.Content = stackPanel; // définit la position de la fenêtre childWindow.WindowStartupLocation = WindowStartupLocation.CenterScreen; childWindow.ShowDialog(); |
Renvoit la window contenant le UserControl
// renvoit la window contenant le UserControl Window.GetWindow(monUserControl); |
Padding
Ajouter une border transparente fait office de padding.
<Window> <Border BorderThickness="4" BorderBrush="Transparent"> |