Làm cách nào để hiển thị tùy chỉnh UserControl
làm hộp thoại trong C#/WPF (.NET 3.5)?Làm thế nào để bạn hiển thị một UserControl tùy chỉnh làm hộp thoại?
Trả lời
Đặt mã vào số Window và gọi Window.ShowDialog.
private void Button1_Click(object sender, EventArgs e)
{
Window window = new Window
{
Title = "My User Control Dialog",
Content = new MyUserControl()
};
window.ShowDialog();
}
Theo như tôi biết bạn không thể làm điều đó. Nếu bạn muốn hiển thị nó trong một hộp thoại, điều đó hoàn toàn ổn, chỉ cần tạo một Cửa sổ mới chỉ chứa UserControl của bạn và gọi ShowDialog() sau khi bạn tạo một cá thể của Cửa sổ đó.
CHỈNH SỬA: Lớp UserControl
không chứa phương thức ShowDialog, vì vậy những gì bạn đang cố gắng thực hiện là không thể.
này, tuy nhiên, là:
private void Button_Click(object sender, RoutedEventArgs e){
new ContainerWindow().ShowDialog();
}
Nếu câu trả lời của 'sixlettervariables' được sửa đổi như vậy, nó hoạt động
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 ();
}
Bạn quên 'Bối cảnh = Bàn chải.Đơn vị'; nó sẽ không hoạt động nếu không có điều đó. –
Window window = new Window
{
Title = "My User Control Dialog",
Content = new OpenDialog(),
SizeToContent = SizeToContent.WidthAndHeight,
ResizeMode = ResizeMode.NoResize
};
window.ShowDialog();
Đã làm việc giống như một ma thuật đối với tôi. Nó có thể được tạo thành một hộp thoại phương thức không?
Ans: ShowDialog nó tự làm cho nó như phương thức Dialog .. ...
SizeToContent rất hữu ích. Cảm ơn. – 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();
}
}
}
Việc sử dụng nó có thể đơn giản như UserControlInstance.ShowDialog(). Triển khai được tùy chỉnh tốt hơn sẽ là bằng cách mở rộng lớp Window và tùy chỉnh nó bằng cách sử dụng trình thiết kế và mã để nhận bất kỳ chức năng nào.
Ví dụ hay, chỉ trong trường hợp của WPF (System.Windows.Window.ShowDialog()) Kiểu trả về phải là bool? (Nullable Type) –
- 1. Tùy chỉnh hộp thoại onbeforeunload
- 2. Làm cách nào để tạo Hộp thoại tùy chỉnh 100%
- 3. Làm thế nào tôi có thể buộc PropertyGrid hiển thị hộp thoại tùy chỉnh cho một thuộc tính cụ thể?
- 4. Làm cách nào để hiển thị hộp thoại "Mở bằng"?
- 5. jqGrid Hộp thoại Chỉnh sửa Tùy chỉnh
- 6. Làm thế nào để ẩn bàn phím trên hộp thoại hiển thị?
- 7. làm thế nào để loại bỏ khung hình chữ nhật của hộp thoại tùy chỉnh
- 8. Tôi làm cách nào để hiển thị Hộp thoại từ Tùy chọn ưu tiên?
- 9. Android: Hiển thị hộp thoại tùy chỉnh ở giữa hộp chứa
- 10. WPF: Làm cách nào để đặt Cửa sổ chủ sở hữu của Hộp thoại được hiển thị bởi UserControl?
- 11. Làm thế nào để in Fastreport trực tiếp mà không hiển thị Hộp thoại In
- 12. Làm thế nào để bạn tùy chỉnh/lỗi codeigniter kiểu?
- 13. Tùy chỉnh hộp thoại duyệt cho thư mục để hiển thị đường dẫn
- 14. Làm cách nào để chỉ hiển thị một Hộp thoại cùng một lúc?
- 15. Đặt contentDescription cho hộp thoại tùy chỉnh
- 16. Tùy chỉnh hộp thoại Auth
- 17. Khi tạo một hộp thoại với jquery, làm thế nào để ẩn div hộp thoại?
- 18. Làm thế nào để gọi một phương thức trong UserControl sau khi nó được hiển thị?
- 19. thoại tùy chỉnh Android hiển thị tiêu đề android thanh
- 20. Làm thế nào để căn chỉnh trung tâm hội thoại tùy chỉnh trong Android?
- 21. Làm thế nào để tạo và hiển thị một bảng tùy chỉnh trong ca cao?
- 22. Hộp thoại Python-Matplotlib. Làm thế nào để hiển thị phần trăm 0,10,25,50,75,90 và 100?
- 23. Hộp thoại bộ chọn tùy chỉnh
- 24. Làm thế nào để hiển thị hộp thoại "Open File" trong Access 2007 VBA?
- 25. Tạo hộp thoại tùy chỉnh trong Android
- 26. Làm thế nào để tùy chỉnh một cột và hiển thị còn lại trong activeadmin
- 27. Wix: hiển thị hộp thoại tùy chỉnh nếu phiên bản trước tìm thấy
- 28. Làm cách nào để hiển thị hộp thoại Thuộc tính của tệp từ C#?
- 29. Hiển thị android: dialogMessage trong hộp thoại ListPreference
- 30. Tôi muốn hiển thị hộp thoại tùy chỉnh như iphone HUD Progress Bar
Tôi cũng thấy rằng việc thiết lập SizeToContent = SizeToContent.WidthAndheight và ResizeMode = ResizeMode.NoResize là hữu ích để nó cho phép người dùng điều khiển xác định kích thước. –
Làm thế nào chúng ta có thể sử dụng hàm 'this.Close()' cho Hộp thoại UserControl này? –
private void btnClose_Click (đối tượng người gửi, RoutedEventArgs e) { \t var parent = this.Parent as Window; \t if (parent! = Null) \t { \t \t parent.DialogResult = true; \t \t parent.Close(); \t} } –