Jak wyświetlić niestandardowe UserControl
jako okno dialogowe w C#/WPF (.NET 3.5)?Jak wyświetlić niestandardowy UserControl jako okno dialogowe?
Odpowiedz
Umieść go w Window i zadzwoń pod numer Window.ShowDialog.
private void Button1_Click(object sender, EventArgs e)
{
Window window = new Window
{
Title = "My User Control Dialog",
Content = new MyUserControl()
};
window.ShowDialog();
}
O ile wiem, nie można tego zrobić. Jeśli chcesz pokazać to w oknie dialogowym, to całkiem dobrze, po prostu utwórz nowe okno, które zawiera tylko UserControl i wywołaj ShowDialog() po utworzeniu instancji tego okna.
EDIT: UserControl
klasa nie zawiera metodę ShowDialog, więc co próbujesz zrobić, to w rzeczywistości nie jest możliwe.
To jednak jest:
private void Button_Click(object sender, RoutedEventArgs e){
new ContainerWindow().ShowDialog();
}
Jeśli odpowiedź przez 'sixlettervariables' wprowadza się tak, że działa
private void button1_Click (object sender, RoutedEventArgs e)
{
Window window = new Window
{
Title = "My User Control Dialog",
Content = new UserControl (),
Height = 200, // just added to have a smaller control (Window)
Width = 240
};
window.ShowDialog ();
}
Zapomniałeś o 'Background = Brushes.Purple'; to nie zadziała bez tego. –
Window window = new Window
{
Title = "My User Control Dialog",
Content = new OpenDialog(),
SizeToContent = SizeToContent.WidthAndHeight,
ResizeMode = ResizeMode.NoResize
};
window.ShowDialog();
Pracował jak magia dla mnie. Czy można to zrobić jako dialog modalny?
Odp: ShowDialog to samo uczynić go jak Modal Dialog .. ...
SizeToContent jest bardzo przydatny. Dzięki. – honzakuzel1989
namespace System.Window.Form
{
public static class Ext
{
public static DialogResult ShowDialog(this UserControl @this, string title)
{
Window wind = new Window() { Title = title, Content = @this };
return wind.ShowDialog();
}
}
}
korzystanie z niej może być tak proste, jak UserControlInstance.ShowDialog(). Lepszą niestandardową implementacją byłoby rozszerzenie klasy okna i dostosowanie jej za pomocą projektanta i kodu w celu uzyskania dowolnej funkcjonalności.
Dobry przykład, właśnie w przypadku WPF (System.Windows.Window.ShowDialog()) Typ powrotu powinien być bool? (Typ Nullable) –
- 1. Jak wyświetlić wbudowane okno dialogowe kopiowania plików?
- 2. Jak wyświetlić okno dialogowe z PreferenceFragment?
- 3. Jak wyświetlić okno dialogowe onbeforeunload w razie potrzeby?
- 4. jak zaprogramować temat działania jako okno dialogowe?
- 5. Android niestandardowe okno dialogowe
- 6. Okno dialogowe jquery ui jako potwierdzenie
- 7. Aktywność jako okno dialogowe w Androidzie
- 8. android - Jak wyświetlić okno dialogowe po zakończeniu aktywności
- 9. Symfony i gałązka: Jak wyświetlić okno dialogowe z potwierdzeniem
- 10. Jak wyświetlić tylko jedno okno dialogowe na raz?
- 11. Jak wyświetlić okno dialogowe Tak/Nie na Androidzie?
- 12. Jak wyświetlić okno dialogowe postępu między dwoma działaniami?
- 13. Jak wyświetlić okno dialogowe uwierzytelniania w C# .Net 3.5 SP1
- 14. Jak wyświetlić okno dialogowe otwierania/zapisywania asp net mvc 4
- 15. Jak wyświetlić okno dialogowe "Windows nie może otworzyć tego pliku"?
- 16. W jaki sposób można wyświetlić okno dialogowe modułu jquery?
- 17. Jak utworzyć niestandardowe okno dialogowe w vscode?
- 18. Jak modlić okno dialogowe jQuery?
- 19. Pobierz okno dialogowe pliku
- 20. okno dialogowe blendera wejściowego
- 21. Wyszukaj okno dialogowe folderu
- 22. Okno dialogowe debugowania XCode
- 23. Android: Okno dialogowe/okno dialogowe operacji niespodziewanie znika
- 24. Okno dialogowe potwierdzenia GWT
- 25. Animować niestandardowe okno dialogowe
- 26. Czasowe okno dialogowe niemodalne
- 27. Typ/okno dialogowe WPF?
- 28. Okno dialogowe otwierania pliku
- 29. Okno dialogowe alertu WP7
- 30. Okno dialogowe Primefaces + commandButton
Odkryłem także, że ustawienie SizeToContent = SizeToContent.WidthAndheight i ResizeMode = ResizeMode.NoResize były pomocne, więc pozwala kontrolce zdefiniować rozmiar. –
Jak możemy użyć funkcji 'this.Close()' do tego okna dialogowego UserControl? –
prywatny void btnClose_Click (obiekt nadawca, RoutedEventArgs e) { \t var parent = this.Parent jako Window; \t jeśli (rodzic! = Null) \t { \t \t parent.DialogResult = true; \t \t parent.Close(); \t} } –