System.Windows.Forms.Button에는 DialogResult 속성이 있으며 System.Windows.Controls.Button (WPF)의 속성은 어디입니까?WPF에서 Button.DialogResult는 어디에 있습니까?
14
A
답변
30
는 아무 Button.DialogResult 내장되지 않습니다,하지만 당신은 만들 수 있습니다 (만약 당신이 좋아하면) 단순 연결된 속성 사용하여 자신의 :
public class ButtonHelper
{
// Boilerplate code to register attached property "bool? DialogResult"
public static bool? GetDialogResult(DependencyObject obj) { return (bool?)obj.GetValue(DialogResultProperty); }
public static void SetDialogResult(DependencyObject obj, bool? value) { obj.SetValue(DialogResultProperty, value); }
public static readonly DependencyProperty DialogResultProperty = DependencyProperty.RegisterAttached("DialogResult", typeof(bool?), typeof(ButtonHelper), new UIPropertyMetadata
{
PropertyChangedCallback = (obj, e) =>
{
// Implementation of DialogResult functionality
Button button = obj as Button;
if(button==null)
throw new InvalidOperationException(
"Can only use ButtonHelper.DialogResult on a Button control");
button.Click += (sender, e2) =>
{
Window.GetWindow(button).DialogResult = GetDialogResult(button);
};
}
});
}
이 당신이 쓸 수 있습니다 :
을 윈폼에<Button Content="Click Me" my:ButtonHelper.DialogResult="True" />
얻을 행위에 해당
17
WPF에 Button.DialogResult
이 없습니다. 그냥 당신이 ShowDialog
보다는 Show
사용하여 양식을 표시했는지 확인
private void buttonOK_Click(object sender, RoutedEventArgs e)
{
this.DialogResult = true;
}
+2
@ Shimmy : 이것은 실제로 받아 들여야합니다 .. – Mangesh
1
: 당신은 true 또는 false로 Window
의 DialogResult
을 설정해야합니다. 당신이 후자를 할 경우 다음과 같은 예외를 발생 얻을 것이다 :
InvalidOperationException이는 창을 작성하고 대화로 표시 한 후에 만 처리되지 않은
DialogResult를 설정할 수 있습니다이었다.
-4
관련 문제
- 1. WPF TreeView : ExpandAll() 메서드는 어디에 있습니까
- 2. MOQ 설명서는 어디에 있습니까?
- 3. java stderr는 어디에 있습니까?
- 4. Leopard의 JConsole은 어디에 있습니까?
- 5. 내 모듈은 어디에 있습니까?
- 6. 종속성은 어디에 있습니까?
- 7. com.google.android.mms. *는 어디에 있습니까?
- 8. T_SafeVector.h는 어디에 있습니까?
- 9. 내 쿠키는 어디에 있습니까?
- 10. ERROR_PENDING은 어디에 정의되어 있습니까?
- 11. nativeGetUninitializedObject는 실제로 어디에 있습니까?
- 12. NSTemproryDirectory는 어디에 있습니까?
- 13. 숨겨진 저장소는 어디에 있습니까?
- 14. ID는 어디에 저장되어 있습니까?
- 15. 원본 파일은 어디에 있습니까?
- 16. cmcfg32.lib은 어디에 있습니까?
- 17. 내 실수는 어디에 있습니까?
- 18. 내 모듈은 어디에 있습니까?
- 19. untyped_to_typed 메소드는 어디에 있습니까?
- 20. RequestMapping은 어디에 있습니까?
- 21. SYMBOL TABLE은 어디에 있습니까?
- 22. IDispatchEx는 어디에 있습니까?
- 23. javax.servlet은 어디에 있습니까?
- 24. UdpClient.CancelReceive는 어디에 있습니까?
- 25. 이벤트 북마크는 어디에 있습니까?
- 26. 내 ipy.exe는 어디에 있습니까?
- 27. AVFoundation Framework는 어디에 있습니까?
- 28. 배포 디렉토리는 어디에 있습니까?
- 29. "힙"은 어디에 있습니까?
- 30. factory_girl 레코드는 어디에 있습니까?
나는 herer에서 새로운 것을 배웠습니다.이 attatching, eventho는이 경우에 그것을 사용하지 않을 것이고, 유용 할 것입니다! 고마워요. – Shimmy
GetWindow func에 대해 전혀 알지 못했습니다. – Shimmy
훌륭한 솔루션, 그 단순함이 더 커졌습니다. –