¿Cómo puedo obtener del Sistema.Windows.ShowDialog() para devolver la 'verdadera'?
Pregunta
¿Cómo puedo obtener System.Windows.ShowDialog()
para volver a "verdadero"?
Soy un poco nuevo en esto. System.Windows.ShowDialog
's tipo de retorno es bool
?Se supone que es para volver true
cuando usted golpea Submit
, y false
cuando usted golpea Cancel
.Pero no estoy seguro de cómo designar el Button
oficial es el botón de enviar.
EDITAR:En una nota relacionada, soy curioso en cuanto a cómo se puede devolver null.
Solución
http://msdn.microsoft.com/ en-us / library / system.windows.window.showdialog.aspx
ShowDialog devuelve un anulable <(Of <(T>)>) valor booleano que especifica si se aceptó la actividad o cancelado. El valor de retorno es el valor de la propiedad DialogResult antes de que una ventana se cierra (véase DialogResult).
Básicamente, usted decide si establece el valor de la DialogResult, no por golpear un botón en particular - a decidir lo que hace el botón
.Otros consejos
En WPF, establezca la Button.IsDefault propiedad en true para especificar que un botón es el botón "enviar" para una ventana. No estoy 100% seguro de que esto hará que el cierre de la ventana con un DialogResult de verdad. Si no lo hace, sólo tiene que manejar su evento Click de esta manera:
this.DialogResult = true;
Editar
Del mismo modo, se puede utilizar el botón rel="noreferrer"> que tiene un botón que sea el botón "cancelar" para un formulario.
Editar 2
Creo que la razón ShowDialog es anulable es que ya que es nula hasta que el formulario se envía o se cancela, se puede probar para que si estuviera viendo el cuadro de diálogo en un subproceso en segundo plano. No he probado esto, pero parece que una razón lógica por la que habían introducen un tercer estado "desconocido" (nulo) a la propiedad.
Si define DialogResult a cierto ShowDialog devuelve verdadero, si se establece DialogResult en false ShowDialog devuelve false si el diálogo se cierra sin establecer DialogResult (el usuario hace clic en la X roja en la esquina superior derecha) ShowDialog devolverá un valor nulo.
Configuración IsDefault a true hará que el botón para mirar un poco diferente y presionar ENTER "clic" en este botón.
Si define IsCancel a la verdadera esc presionar este botón se "clic".