วิธีการบล็อกการไหลของรหัสจนกว่าเหตุการณ์จะเริ่มทำงานใน C #
ที่นี่เรามีด้วยGrid Buttonเมื่อผู้ใช้คลิกปุ่มวิธีการในคลาสยูทิลิตี้จะถูกดำเนินการซึ่งบังคับให้แอปพลิเคชันได้รับการคลิกบนกริด Gridการไหลของรหัสต้องหยุดที่นี่และไม่ได้ดำเนินต่อไปจนกว่าผู้ใช้มีการคลิกที่ ฉันมีคำถามที่คล้ายกันมาก่อนที่นี่: รอจนกระทั่งผู้ใช้คลิก C # WPF ในคำถามนั้นฉันได้รับคำตอบโดยใช้ async / คอยซึ่งใช้งานได้ แต่เนื่องจากฉันจะใช้เป็นส่วนหนึ่งของ API ฉันไม่ต้องการใช้ async / waitit เนื่องจากผู้บริโภคจะต้องทำเครื่องหมายวิธีการด้วย async ซึ่งฉันไม่ต้องการ ฉันจะเขียนUtility.PickPoint(Grid grid)วิธีเพื่อให้บรรลุเป้าหมายนี้ได้อย่างไร ฉันเห็นสิ่งนี้ซึ่งอาจช่วยได้ แต่ไม่เข้าใจอย่างเต็มที่ที่จะสมัครที่นี่เพื่อความซื่อสัตย์: การบล็อกจนกว่าเหตุการณ์จะเสร็จสิ้น พิจารณาว่าเป็นสิ่งที่ต้องการวิธี Console.ReadKey () ในแอปพลิเคชันคอนโซล เมื่อเราเรียกใช้เมธอดนี้โฟลว์โค้ดจะหยุดจนกว่าเราจะป้อนค่าบางค่า โปรแกรมดีบั๊กไม่ทำงานต่อไปจนกว่าเราจะป้อนข้อมูล ฉันต้องการพฤติกรรมที่แน่นอนสำหรับวิธี PickPoint () การไหลของรหัสจะหยุดจนกว่าผู้ใช้คลิกบนกริด <Window x:Class="WpfApp1.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:WpfApp1" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <Grid.RowDefinitions> <RowDefinition …