কী করে InitializeComponent()এবং ডাব্লুপিএফ এ কীভাবে কাজ করে?
প্রথমে সাধারণভাবে, তবে আমি বিশেষত নির্মাণের ক্রমগুলির বিশদ বিবরণ এবং সংযুক্তিযুক্ত সম্পত্তি থাকা অবস্থায় কী ঘটে তা জানতে আগ্রহী।
কী করে InitializeComponent()এবং ডাব্লুপিএফ এ কীভাবে কাজ করে?
প্রথমে সাধারণভাবে, তবে আমি বিশেষত নির্মাণের ক্রমগুলির বিশদ বিবরণ এবং সংযুক্তিযুক্ত সম্পত্তি থাকা অবস্থায় কী ঘটে তা জানতে আগ্রহী।
উত্তর:
কলটি InitializeComponent()(যা সাধারণত কমপক্ষে Windowএবং এর ডিফল্ট নির্মাত্রে ডাকা হয় UserControl) আসলে নিয়ন্ত্রণের আংশিক শ্রেণীর কাছে একটি পদ্ধতি কল (যা আমি প্রত্যাশার সাথে অবজেক্টের স্তরক্রমের চেয়ে কল করেছিলাম)।
এই পদ্ধতিটি লোড হচ্ছে Window/ এর জন্য XAML এ একটি ইউআরআই সনাক্ত UserControlকরে এবং এটি System.Windows.Application.LoadComponent()স্ট্যাটিক পদ্ধতিতে প্রেরণ করে । LoadComponent()ইউআরআই-তে পাস হওয়া XAML ফাইলটি লোড করে এবং এটি এক্সএএমএল ফাইলের মূল উপাদান দ্বারা নির্দিষ্ট হওয়া অবজেক্টের একটি পরিস্থিতিতে রূপান্তরিত করে।
আরও বিশদে, এর LoadComponentউদাহরণ তৈরি করে XamlParserএবং এক্সএএমএল এর একটি গাছ তৈরি করে। প্রতিটি নোড দ্বারা পার্স করা হয় XamlParser.ProcessXamlNode()। এটি BamlRecordWriterক্লাসে পাস হয় । এর কিছু সময় পরে আমি কীভাবে বিএএমএলকে বস্তুতে রূপান্তরিত করব তাতে কিছুটা হারিয়ে যেতে পারি তবে এটি আপনাকে আলোকিত করার পথে সহায়তা করার জন্য যথেষ্ট হতে পারে।
দ্রষ্টব্য: মজার বিষয় হল, এটি ইন্টারফেসের InitializeComponentএকটি পদ্ধতি System.Windows.Markup.IComponentConnector, যার Window/ UserControlআংশিক উত্পাদিত শ্রেণিতে প্রয়োগ করা।
আশাকরি এটা সাহায্য করবে!
কোডটি সন্ধান করা সর্বদা সহায়তা করে। এটি হ'ল, আপনি নিম্নলিখিতটি তৈরির মাধ্যমে উত্পন্ন আংশিক শ্রেণীর (যা লোডকম্পোনেন্টকে কল করে ) একবার দেখে নিতে পারেন :
The YourClass .g.cs ... হ'ল আংশিক শ্রেণীর উত্পন্ন কোড। আবার, আপনি যদি এটি খুলেন তবে আপনি সূচনা করতে পারেন উপাদানটি পদ্ধতি এবং এটি কীভাবে লোডকম্পোনেন্টকে কল করে ... এবং আরও অনেক কিছু।