rahaomidi
Member
سلام
توی wpf که میریم ، کد زیر را مینویسه :
کد:<Window x:Class="WPF_Practice.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:WPF_Practice" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Grid> </Grid> </Window>
چندین سئوال دارم :
1) اون اولش که نوشته Window ، یعنی شی ای از کلاس Window دیگه درسته؟
2) بعدش که نوشته :
یعنی بجای اینکه از Window شی درست کنه ، از کلاس در فضای نام گفته شده (کلاس MainWindow) شی درست کنه . درسته؟ و بعد اینکه کلمه ی x که در بالا نوشت یعنی چه؟ متغییر هه؟ عملگر نقل قول : که در بالا نوشت هم یعنی چه؟ کلمه ی Class هم که نوشت ، زمانی میاد که بخوایم شی ای از یه کلاس را جایگزین کنیم؟ یعنی اینکه اول گفت شی ای از کلاس Window ، اما چون میخواد شی از کلاس فرزند ویندوز میخواد بسازه ، کلمه ی Class را آورد تا بگه که میخواد از فرزندش (که MainWindow هست) شی بسازه و نه اینکه شی از کلاس Window بسازه؟کد:x:Class="WPF_Practice.MainWindow"
پس چرا مثل کلاس های دیگه وقتی میخواد از کلاس MainWindow شی بسازه ، مستقیما همون اول بجای کلمه ی Window از کلمه ی MainWindow نام نبرد؟
3) من این خط ها را کلا متوجه نشدم :
هم کلماتی مثل xmlns . اینها متغییر هستن؟ و هم عملگرهایی مثل نقل قول و رابطه ی کلماتی که قبل از نقل قول و کلماتی که بعد از نقل قول میان مثل xmlns:xکد: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:WPF_Practice" mc:Ignorable="d"
و بعدش اینکه چرا آدرس و لینک وب را میده؟! مثلا آدرس "http://schemas.microsoft.com/winfx/2006/xaml/presentation" به چه معناست؟ لینک وب میده که چی بشه؟
4) و همینطور این دو خط زیر را متوجه نشدم :
کد:xmlns:local="clr-namespace:WPF_Practice" mc:Ignorable="d"
خط بعدش (Title و ...) را متوجه شدم
آخر هم اینکه چرا شی ای از Grid را اتوماتیک میسازه؟ خوب هر وقت کاربر خواست ، خودش کنترل Grid را مثل بقیه ی کنترل ها اضافه میکنه دیگه
ممنون
- بله، اولین خط کد یک شی از کلاس Window را تعریف میکند.
- کلمهی x در اینجا به معنای namespace است و برای تعریف namespace در XAML استفاده میشود. کلمهی Class نیز برای تعیین نام کلاسی است که این شی از آن ساخته میشود. در اینجا، کلاس MainWindow از کلاس Window ارثبری کرده است و بنابراین میتوان از آن به عنوان یک شی از کلاس Window استفاده کرد. کلمهی xmlns نیز برای تعریف namespace در XAML استفاده میشود و معمولاً با یک پیشوند مشخص میشود. در اینجا، پیشوند x برای namespace مربوط به XAML استفاده شده است.
- کلمهی xmlns به معنای XML namespace است و برای تعریف namespace در XAML استفاده میشود. آدرس و لینک وب مربوط به namespace مربوطه است و برای تعیین محل قرارگیری namespace استفاده میشود. برای مثال، آدرس "http://schemas.microsoft.com/winfx/2006/xaml/presentation" برای namespace مربوط به Presentation Framework در WPF استفاده میشود.
- xmlns:local برای تعریف namespace محلی استفاده میشود که در آن، کلاسهایی که در همان پروژه تعریف شدهاند، قرار دارند. mc:Ignorable نیز برای تعیین عناصری است که در آنها خطاهایی که ممکن است در آنها وجود داشته باشد، نادیده گرفته شود. شی از کلاس Grid به عنوان یک container برای قرار دادن کنترلهای دیگر درون آن استفاده میشود.