Silverlight вопросы порядка определения атрибута XAML

"Любой ЦП" означает, что, когда программа запущена, Платформа.NET выяснит, на основе разрядности ОС, запустить ли Вашу программу в 32 битах или 64 битах.

существует различие между x86 и Любой ЦП : в x64 системе Ваш исполняемый файл, скомпилированный для X86, будет работать как 32-разрядный исполняемый файл.

Насколько Ваши подозрения идут, просто перейдите к Visual  Studio  командная строка 2008 года и выполненный следующее.

dumpbin YourProgram.exe /headers

Это скажет Вам разрядность Вашей программы, плюс намного больше.

15
задан DaveB 19 August 2009 в 16:32
поделиться

3 ответа

Да, порядок имеет значение. Учтите, что чтение XAML включает создание объектов и присвоение значений свойствам этих объектов. Невозможно назначить значения свойств одновременно, очевидно, что одно свойство будет назначено, затем другое, а затем еще одно, пока не будут назначены все свойства.

Поскольку присвоение свойств некоторым объектам приводит к побочным эффектам, а другой код, выполняющий порядок назначения этих свойств, может повлиять на результат. Это конечно плохо.

16
ответ дан 1 December 2019 в 03:14
поделиться

В следующий раз, когда у вас возникнет проблема, подобная этой, и вы подозреваете, что привязка может не работать из-за порядка. Проверьте свое окно вывода, в нем отображаются все ошибки привязки. Таким образом, из этой ошибки можно было сделать вывод, что ItemSource был нулевым во время привязки свойства SelectedItem

2
ответ дан 1 December 2019 в 03:14
поделиться

В любых обстоятельствах, когда порядок установки свойств важен, вы должны использовать синтаксис элемента, а не синтаксис атрибута, для представления этих свойств в вашем XAML:

<ComboBox x:Name="jobEmployee" Grid.Column="1" Grid.Row="2" 
   Margin="4" HorizontalAlignment="Left" Width="150" DisplayMemberPath="FullName">
   <ComboBox.ItemsSource>
      <Binding Path="Employees" Mode="OneWay"/>
   <ComboBox.ItemsSource>
   <ComboBox.SelectedItem>
      <Binding Path="EditingJob.Employee" Mode="TwoWay" 
         ValidatesOnExceptions="true" NotifyOnValidationError="true"/>
   </ComboBox.SelectedItem>
</ComboBox>

Согласно рекомендации XML , порядок атрибутов в элементе не имеет значения. Инструменты XML не обязаны сохранять порядок, в котором они появляются. Поэтому, если, например, вы обработали этот элемент ComboBox с помощью преобразования XSLT (в некоторых случаях это не безумная идея), преобразование может изменить упорядочивание ваших атрибутов, даже если оно выполняет . XSLT-процессор , вероятно, этого не сделает, но это не обязательно , а не .

Как случайный порядок атрибутов каждого элемента в вашем XAML повлияет на поведение вашего приложения? Ответом на этот вопрос должно быть «ничего».

Это аспект XAML, который меня очень волнует.

5
ответ дан 1 December 2019 в 03:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: