এই উত্তরগুলির অনেকগুলি সরলতাযুক্ত এবং যদি কেউ ডাব্লুপিএফ শুরু করে তবে তারা "ইনস-আউট আউটস" সমস্তই জানেন না, কারণ এটি কাউকে কেবল "ব্যবহার করুন .ShowDialog()
!" বলার চেয়ে জটিল complicated তবে সেই পদ্ধতিটি (নয় .Show()
) যা আপনি অন্তর্নিহিত উইন্ডোটির ব্যবহার অবরুদ্ধ করতে এবং মডেল উইন্ডোটি বন্ধ না হওয়া অবধি কোডটি চালিয়ে যাওয়া থেকে চালিয়ে যেতে চান।
প্রথমত, আপনার জন্য 2 ডাব্লুপিএফ উইন্ডো দরকার। (একজন অন্যজনকে ডাকবে।)
প্রথম উইন্ডো থেকে, যাক যাকে বলা হয় মেইনউইন্ডো.এক্স্যামেল, এর কোড-পিছনে থাকবে:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
তারপরে আপনার এক্সএএমএলে আপনার বোতামটি যুক্ত করুন:
<Button Name="btnOpenModal" Click="btnOpenModal_Click" Content="Open Modal" />
এবং Click
রুটিনটি ডান ক্লিক করুন , "সংজ্ঞাতে যান" নির্বাচন করুন। এটি এটিকে মেইনওয়াইন্ডো.এক্স্যামল সিটিতে তৈরি করবে:
private void btnOpenModal_Click(object sender, RoutedEventArgs e)
{
}
এই ফাংশনটির মধ্যে, আপনাকে অন্য পৃষ্ঠার পৃষ্ঠা বর্গটি ব্যবহার করে নির্দিষ্ট করতে হবে। বলুন যে আপনি সেই অন্য পৃষ্ঠার নাম রেখেছেন "মোডাল উইন্ডো", যাতে এটি এর পৃষ্ঠা শ্রেণিতে পরিণত হয় এবং আপনি কীভাবে এটি ইনস্ট্যান্ট করবেন (কল করবেন):
private void btnOpenModal_Click(object sender, RoutedEventArgs e)
{
ModalWindow modalWindow = new ModalWindow();
modalWindow.ShowDialog();
}
বলুন যে আপনার মডেল ডায়ালগটি সেট করতে আপনার একটি মান দরকার need ModalWindow
এক্সএএমএলে একটি পাঠ্যবক্স এবং একটি বোতাম তৈরি করুন :
<StackPanel Orientation="Horizontal">
<TextBox Name="txtSomeBox" />
<Button Name="btnSaveData" Click="btnSaveData_Click" Content="Save" />
</StackPanel>
তারপরে Click
আবার একটি ইভেন্ট হ্যান্ডলার (অন্য ইভেন্ট) তৈরি করুন এবং পাঠ্যবাক্সের মানটি একটি সার্বজনীন স্থিতিশীল ভেরিয়েবলের ModalWindow
ও কল এ সংরক্ষণ করতে এটি ব্যবহার করুন this.Close()
।
public partial class ModalWindow : Window
{
public static string myValue = String.Empty;
public ModalWindow()
{
InitializeComponent();
}
private void btnSaveData_Click(object sender, RoutedEventArgs e)
{
myValue = txtSomeBox.Text;
this.Close();
}
}
তারপরে, আপনার .ShowDialog()
বক্তব্যের পরে , আপনি সেই মানটি ধরে নিতে এবং এটি ব্যবহার করতে পারেন:
private void btnOpenModal_Click(object sender, RoutedEventArgs e)
{
ModalWindow modalWindow = new ModalWindow();
modalWindow.ShowDialog();
string valueFromModalTextBox = ModalWindow.myValue;
}