В общем, почти все, что можно сделать в Xaml, можно сделать и в C #.Однако есть важные исключения.
В качестве примера возьмем класс DataTemplate и рассмотрим его свойства.Вы найдете ноль, и вы не найдете ни одного класса ContentAttribute.Несмотря на это, вы можете использовать DataTemplate в Xaml для указания содержимого шаблона.Это пример кода Xaml, который нельзя сделать в C #.(В этом случае причина в том, что Silverlight - в отличие от WPF - скрывает реализацию DataTemplate. Только процессор Xaml имеет право это видеть, программистам на C # не повезло.)
Другие парни утверждают, что перенос Xaml вC # будет производить грязный код.Ну, я не могу полностью согласиться.Я бы сказал, что это условно, то есть это зависит от вашей способности форматировать код.
Я сделал это несколько раз.Вот пример средней сложности.Те, кто пытается сравнить исходный код Xaml (код PerformanceProgressBar) с описанным кодом C #, должны будут признать, что
- (This) C # код короче
- (This) C #код легче читать
И если вы вложите еще больше усилий, вам придется признать, что
Хорошо, я не хочу спорить с Ксамлом.Это помогает изолировать пользовательский интерфейс, и как только вы выучите его язык, он станет естественным инструментом, который поможет вам.Все, что я хотел сказать, это то, что Xaml - не единственный способ создания пользовательского интерфейса и даже не обязательно лучший.Люди были в состоянии создать приятный пользовательский интерфейс и в эпоху до Xaml.