ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹ Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 β€” Π·Π°Π΄Π°Ρ‡Π°, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ сталкиваСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.hether Π²Ρ‹ создаётС Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ с динамичСским интСрфСйсом ΠΈΠ»ΠΈ Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ, ΡƒΠΌΠ΅Π½ΠΈΠ΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ сэкономит часы Ρ€ΡƒΡ‚ΠΈΠ½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Но ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΈΠ·Π±Π΅ΠΆΠ°Π² ошибок с привязками Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ событий?

МногиС Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ программисты 1Π‘ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты Ρ‡Π΅Ρ€Π΅Π· конструктор Ρ„ΠΎΡ€ΠΌ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π½Π΅ подозрСвая, Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ этого процСсса. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ всС доступныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ β€” ΠΎΡ‚ простого дублирования Ρ‡Π΅Ρ€Π΅Π· ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() Π΄ΠΎ слоТных сцСнариСв с сохранСниСм всСх свойств ΠΈ событий. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹ΠΌ камням ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с динамичСскими Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈ управляСмыми Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто становятся источником ошибок.

Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅:

  • πŸ”Ή Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт Ρ„ΠΎΡ€ΠΌΡ‹ со всСми Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ
  • πŸ”Ή Π’ Ρ‡Ρ‘ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΈ управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ…
  • πŸ”Ή ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ½ΠΎΠ³Π΄Π° копия элСмСнта Π½Π΅ отобраТаСтся ΠΈ ΠΊΠ°ΠΊ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ
  • πŸ”Ή Как Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ созданиС Π³Ρ€ΡƒΠΏΠΏ элСмСнтов с ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ свойствами

1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ копирования элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько способов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ копирования элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹. Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Ρ„ΠΎΡ€ΠΌΡ‹ (обычная ΠΈΠ»ΠΈ управляСмая), вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. Рассмотрим основныС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹:

Π‘Π°ΠΌΡ‹ΠΉ простой способ β€” использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π€ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ создаёт Ρ‚ΠΎΡ‡Π½ΡƒΡŽ копию элСмСнта со всСми свойствами, Π½ΠΎ Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π€ΠΎΡ€ΠΌΡ‹ΠšΠΎΠΏΠΈΡ = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ(Π˜ΠΌΡΠΠΎΠ²ΠΎΠ³ΠΎΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°);

Для управляСмых Ρ„ΠΎΡ€ΠΌ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ° элСмСнта ΠΈ свойств исходного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ позволяСт Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΏΠΈΠΈ:

НовыйЭлСмСнт = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π’ΠΈΠΏ,

"Π˜ΠΌΡΠΠΎΠ²ΠΎΠ³ΠΎΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°",

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.ВипЗначСния

);

НовыйЭлСмСнт.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ;

НовыйЭлСмСнт.Π¨ΠΈΡ€ΠΈΠ½Π° = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π¨ΠΈΡ€ΠΈΠ½Π°;

πŸ“Š Какой Ρ‚ΠΈΠΏ Ρ„ΠΎΡ€ΠΌ Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅?
ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹
УправляСмыС Ρ„ΠΎΡ€ΠΌΡ‹
Оба Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ
НС занимаюсь Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌ

2. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с сохранСниСм всСх свойств ΠΈ событий

Основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ элСмСнтов β€” потСря ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… динамичСских свойств. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт со всСми ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

  1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°
  2. ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΡ‚ΠΈ всС свойства ΠΈΠ· исходного элСмСнта
  3. Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий
  4. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ привязки ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ копирования поля Π²Π²ΠΎΠ΄Π° с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ события ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠŸΠΎΠ»Π΅Π’Π²ΠΎΠ΄Π°(Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ΠŸΠΎΠ»Π΅, ИмяКопии)

НовоСПолС = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠŸΠΎΠ»Π΅Π’Π²ΠΎΠ΄Π°", ИмяКопии, Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ΠŸΠΎΠ»Π΅.ВипЗначСния);

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ всС свойства

Для КаТдого Бвойство Из Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ΠŸΠΎΠ»Π΅.Бвойства Π¦ΠΈΠΊΠ»

Если НовоСПолС.Бвойства.Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚(Бвойство.ΠšΠ»ΡŽΡ‡) Π’ΠΎΠ³Π΄Π°

НовоСПолС[Бвойство.ΠšΠ»ΡŽΡ‡] = Бвойство.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

// ΠŸΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ

НовоСПолС.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ”Π΅ΠΉΡΡ‚Π²ΠΈΠ΅("ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ", "ΠΠΎΠ²ΠΎΠ΅ΠŸΠΎΠ»Π΅ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ");

// ОбновляСм привязку ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ

Если НС Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ΠŸΠΎΠ»Π΅.ΠŸΡƒΡ‚ΡŒΠšΠ”Π°Π½Π½Ρ‹ΠΌ = НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

НовоСПолС.ΠŸΡƒΡ‚ΡŒΠšΠ”Π°Π½Π½Ρ‹ΠΌ = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ΠŸΠΎΠ»Π΅.ΠŸΡƒΡ‚ΡŒΠšΠ”Π°Π½Π½Ρ‹ΠΌ, Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ΠŸΠΎΠ»Π΅.Имя, ИмяКопии);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ элСмСнтов с привязкой ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ (ΠŸΡƒΡ‚ΡŒΠšΠ”Π°Π½Π½Ρ‹ΠΌ) ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ обновляйтС ΠΏΡƒΡ‚ΡŒ Π² ΠΊΠΎΠΏΠΈΠΈ. Π˜Π½Π°Ρ‡Π΅ ΠΎΠ±Π° элСмСнта Π±ΡƒΠ΄ΡƒΡ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ ΠΏΠΎΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ ΠΏΡ€ΠΈ записи.

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ имя Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ|ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ зависимостСй ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов|Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий исходного элСмСнта|ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ привязки ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² ΠΊΠΎΠΏΠΈΠΈ|ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΠΎΠΏΠΈΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…-->

3. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с управляСмыми Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ

УправляСмыС Ρ„ΠΎΡ€ΠΌΡ‹ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ряд особСнностСй ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ элСмСнтов. Главная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ β€” Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прямого доступа ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ свойствам элСмСнтов Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях приходится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ:

Для динамичСского создания элСмСнтов Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… часто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ элСмСнтов с ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ свойствами:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ“Ρ€ΡƒΠΏΠΏΡƒΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ²(ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ)

Для Π‘Ρ‡ = 1 По ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π¦ΠΈΠΊΠ»

НовыйЭлСмСнт = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠŸΠΎΠ»Π΅Π’Π²ΠΎΠ΄Π°", ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ + Π‘Ρ‡);

НовыйЭлСмСнт.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ = "Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ " + Π‘Ρ‡;

НовыйЭлСмСнт.Π¨ΠΈΡ€ΠΈΠ½Π° = 200;

НовыйЭлСмСнт.Высота = 25;

НовыйЭлСмСнт.Π›Π΅Π²ΠΎ = (Π‘Ρ‡ - 1) * 210;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π’Π°ΠΆΠ½Ρ‹ΠΉ нюанс: Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… нСльзя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ элСмСнты Π² ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹. ΠŸΡ€ΠΈΠ΄Ρ‘Ρ‚ΡΡ Π»ΠΈΠ±ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ, Π»ΠΈΠ±ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ элСмСнты Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π±Π΅Π· Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ.

Π’ΠΈΠΏ Ρ„ΠΎΡ€ΠΌΡ‹ ΠœΠ΅Ρ‚ΠΎΠ΄ копирования ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ
ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() НС ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для простых элСмСнтов Π±Π΅Π· Π»ΠΎΠ³ΠΈΠΊΠΈ
УправляСмая Ρ„ΠΎΡ€ΠΌΠ° Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ доступ ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ свойствам ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для Π³Ρ€ΡƒΠΏΠΏ элСмСнтов
ДинамичСская Ρ„ΠΎΡ€ΠΌΠ° Π ΡƒΡ‡Π½ΠΎΠ΅ созданиС с настройкой свойств БлоТности с привязкой ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ”Π΅ΠΉΡΡ‚Π²ΠΈΠ΅() для событий

4. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ слоТных элСмСнтов (Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π΄Π΅Ρ€Π΅Π²ΡŒΡ)

ΠžΡΠΎΠ±ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прСдставляСт ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ комплСксных элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ поля, Π΄Π΅Ρ€Π΅Π²ΡŒΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ поля HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Для Ρ‚Π°ΠΊΠΈΡ… элСмСнтов нСдостаточно просто ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свойства β€” Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСрСнСсти структуру ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий ячССк ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ спСцифичСскиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ копирования Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ поля с сохранСниСм структуры ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ΠŸΠΎΠ»Π΅(Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ’Π°Π±Π»ΠΈΡ†Π°, ИмяКопии)

НоваяВаблица = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ΠŸΠΎΠ»Π΅", ИмяКопии);

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ основныС свойства

НоваяВаблица.Высота = Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ’Π°Π±Π»ΠΈΡ†Π°.Высота;

НоваяВаблица.Π¨ΠΈΡ€ΠΈΠ½Π° = Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ’Π°Π±Π»ΠΈΡ†Π°.Π¨ΠΈΡ€ΠΈΠ½Π°;

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

Для КаТдого Колонка Из Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ’Π°Π±Π»ΠΈΡ†Π°.Колонки Π¦ΠΈΠΊΠ»

НоваяКолонка = НоваяВаблица.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Колонка.Имя);

НоваяКолонка.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ = Колонка.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ;

НоваяКолонка.ВипЗначСния = Колонка.ВипЗначСния;

НоваяКолонка.Π¨ΠΈΡ€ΠΈΠ½Π° = Колонка.Π¨ΠΈΡ€ΠΈΠ½Π°;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

// ΠŸΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²Ρ‹Π±ΠΎΡ€Π° строки

НоваяВаблица.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ”Π΅ΠΉΡΡ‚Π²ΠΈΠ΅("ΠŸΡ€ΠΈΠΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ", "ΠΠΎΠ²Π°ΡΠ’Π°Π±Π»ΠΈΡ†Π°ΠŸΡ€ΠΈΠ’Ρ‹Π±ΠΎΡ€Π΅");

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Для Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (ΠŸΠΎΠ»Π΅Π”Π΅Ρ€Π΅Π²Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ) Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий разворачивания ΡƒΠ·Π»ΠΎΠ².

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ с привязкой ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² свойствС ΠŸΡƒΡ‚ΡŒΠšΠ”Π°Π½Π½Ρ‹ΠΌ. Ошибки Π² ΠΏΡƒΡ‚ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ пустым Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ ΠΈΠ»ΠΈ ошибкам выполнСния.
Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ссли копия Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π΅ отобраТаСтся?

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свойство Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта β€” ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ сбрасываСтся Π½Π° Π›ΠΎΠΆΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ создании. Π’Π°ΠΊΠΆΠ΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ элСмСнт Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½ Π² Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ области Ρ„ΠΎΡ€ΠΌΡ‹ (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π›Π΅Π²ΠΎ ΠΈ Π’Π΅Ρ€Ρ…). Если Ρ‚Π°Π±Π»ΠΈΡ†Π° привязана ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Ρ‡Ρ‚ΠΎ источник Π΄Π°Π½Π½Ρ‹Ρ… (коллСкция) сущСствуСт ΠΈ доступСн Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ контСкстС.

5. Автоматизация создания Π³Ρ€ΡƒΠΏΠΏ элСмСнтов

Часто трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… элСмСнтов β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, поля Π²Π²ΠΎΠ΄Π° для динамичСского количСства Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ². ВмСсто Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ копирования ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ элСмСнты ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания динамичСской Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ“Ρ€ΡƒΠΏΠΏΡƒΠŸΠΎΠ»Π΅ΠΉΠ’Π²ΠΎΠ΄Π°(ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ, Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°)

Для НомСр = 1 По ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π¦ΠΈΠΊΠ»

Π˜ΠΌΡΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Π° = ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ + Π€ΠΎΡ€ΠΌΠ°Ρ‚(НомСр, "Π§Π“=0");

НовыйЭлСмСнт = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(

Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.Π’ΠΈΠΏ,

Π˜ΠΌΡΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°,

Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.ВипЗначСния

);

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ основныС свойства ΠΈΠ· шаблона

НовыйЭлСмСнт.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ = Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ + " " + НомСр;

НовыйЭлСмСнт.Π¨ΠΈΡ€ΠΈΠ½Π° = Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.Π¨ΠΈΡ€ΠΈΠ½Π°;

НовыйЭлСмСнт.Высота = Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.Высота;

НовыйЭлСмСнт.Π›Π΅Π²ΠΎ = Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.Π›Π΅Π²ΠΎ + (НомСр - 1) * (Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.Π¨ΠΈΡ€ΠΈΠ½Π° + 10);

НовыйЭлСмСнт.Π’Π΅Ρ€Ρ… = Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.Π’Π΅Ρ€Ρ…;

// НастраиваСм привязку ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ

Если Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.ΠŸΡƒΡ‚ΡŒΠšΠ”Π°Π½Π½Ρ‹ΠΌ <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

НовыйЭлСмСнт.ΠŸΡƒΡ‚ΡŒΠšΠ”Π°Π½Π½Ρ‹ΠΌ = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(

Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.ΠŸΡƒΡ‚ΡŒΠšΠ”Π°Π½Π½Ρ‹ΠΌ,

Π¨Π°Π±Π»ΠΎΠ½Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.Имя,

Π˜ΠΌΡΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°

);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ особСнно ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ количСством Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π²Π²ΠΎΠ΄Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ настройки Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ².

πŸ’‘

Для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ динамичСски созданных элСмСнтов Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Ρ„ΠΎΡ€ΠΌΡƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ структуру", которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² сообщСниС список всСх элСмСнтов с ΠΈΡ… свойствами. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ быстро Π½Π°ΠΉΡ‚ΠΈ ошибки Π² Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ привязкС Π΄Π°Π½Π½Ρ‹Ρ….

6. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. Рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённыС ошибки ΠΈ способы ΠΈΡ… устранСния:

  • 🚫 Копия элСмСнта Π½Π΅ отобраТаСтся: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свойства Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ, Π›Π΅Π²ΠΎ/Π’Π΅Ρ€Ρ… ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ элСмСнт находится Π² Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ области Ρ„ΠΎΡ€ΠΌΡ‹. Π’ управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свойство ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ.
  • 🚫 Ошибка ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΏΠΈΠΈ: Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π½Π΅ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ”Π΅ΠΉΡΡ‚Π²ΠΈΠ΅() для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ события.
  • 🚫 Π”Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠΏΠΈΠΈ ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ: Π­Ρ‚ΠΎ происходит ΠΈΠ·-Π·Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠŸΡƒΡ‚ΡŒΠšΠ”Π°Π½Π½Ρ‹ΠΌ. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ Π² ΠΊΠΎΠΏΠΈΠΈ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π΅Ρ‘ ΠΈΠΌΠ΅Π½ΠΈ.
  • 🚫 Ошибка "НСдопустимоС имя элСмСнта": ИмСна элСмСнтов Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ„ΠΎΡ€ΠΌΡ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфиксы ΠΈΠ»ΠΈ суффиксы для различСния ΠΊΠΎΠΏΠΈΠΉ.

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° распространённая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСмСнтов с динамичСским содСрТимым (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, поля с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ списками, зависящими ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов). Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сам элСмСнт, Π½ΠΎ ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ источник Π΄Π°Π½Π½Ρ‹Ρ… для динамичСского содСрТимого.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ исправлСния ошибки с динамичСским списком:

// ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ динамичСский список, зависящий ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ поля

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ‘ΠΏΠΈΡΠΎΠΊ.БписокВыбора = Новый БписокЗначСний();

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ‘ΠΏΠΈΡΠΎΠΊ.БписокВыбора.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1", "ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅1");

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ‘ΠΏΠΈΡΠΎΠΊ.БписокВыбора.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅2", "ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅2");

// ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ источник Π΄Π°Π½Π½Ρ‹Ρ…

КопияБписка.БписокВыбора = Новый БписокЗначСний();

Для КаТдого ЭлСмСнтБписка Из Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ‘ΠΏΠΈΡΠΎΠΊ.БписокВыбора Π¦ΠΈΠΊΠ»

КопияБписка.БписокВыбора.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(ЭлСмСнтБписка.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ЭлСмСнтБписка.ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅);

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

7. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ массовом ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

ΠŸΡ€ΠΈ создании большого количСства элСмСнтов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 50+ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°) ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ зависаний интСрфСйса, слСдуйтС этим рСкомСндациям:

  • πŸ”„ ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° врСмя создания элСмСнтов: ΠŸΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΡƒ() / Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΡƒ()
  • πŸ“Š Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ элСмСнты Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…, Π° Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ ΠΈΡ… нСпосрСдствСнно Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅
  • πŸ”„ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для элСмСнтов с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ свойствами
  • πŸ—‘οΈ УдаляйтС Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ элСмСнты ΠΏΠ΅Ρ€Π΅Π΄ созданиСм Π½ΠΎΠ²Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ накоплСния мусора

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ создания мноТСства элСмСнтов:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠœΠ°ΡΡΠΎΠ²ΠΎΠ΅Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ²(ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ)

ΠŸΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΡƒ();

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

Для Π‘Ρ‡ = 1 По ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π¦ΠΈΠΊΠ»

НовыйЭлСмСнт = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠŸΠΎΠ»Π΅Π’Π²ΠΎΠ΄Π°", "Π­Π»Π΅ΠΌΠ΅Π½Ρ‚_" + Π‘Ρ‡);

// Настройка свойств..

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΡƒ();

Π’Ρ‹Π·Π²Π°Ρ‚ΡŒΠ˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅;

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΡƒ();

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… Ρ‚ΠΎΠ½ΠΊΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠŸΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΡƒ()/Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΡƒ() Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. ВмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅() ΠΈ Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅() для ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ элСмСнтов.
πŸ’‘

ΠŸΡ€ΠΈ массовом создании элСмСнтов всСгда Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°-Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ отрисовку Ρ„ΠΎΡ€ΠΌΡ‹ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ошибкС.

8. ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ: ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ

Иногда трСбуСтся ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт Π½Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹, Π° пСрСнСсти Π΅Π³ΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ. Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТная Π·Π°Π΄Π°Ρ‡Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ„ΠΎΡ€ΠΌ ΠΈ ΡƒΡ‡Ρ‘Ρ‚Π° контСкста выполнСния.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ шаги для ΠΌΠ΅ΠΆΡ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ копирования:

  1. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ описаниС исходного элСмСнта Ρ‡Π΅Ρ€Π΅Π· ОписаниСВипов
  2. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ свойствами
  3. ΠŸΠ΅Ρ€Π΅Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ привязки ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ структуры Π½ΠΎΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹
  4. Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π² ΠΈΡ… ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ контСксту

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ копирования элСмСнта ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚ΠœΠ΅ΠΆΠ΄ΡƒΠ€ΠΎΡ€ΠΌΠ°ΠΌΠΈ(Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ€ΠΎΡ€ΠΌΠ°, ЦСлСваяЀорма, Π˜ΠΌΡΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°, НовоСИмя)

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚ = Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ€ΠΎΡ€ΠΌΠ°.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹[Π˜ΠΌΡΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°];

// Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅

НовыйЭлСмСнт = ЦСлСваяЀорма.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π’ΠΈΠΏ,

НовоСИмя,

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.ВипЗначСния

);

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ свойства

Для КаТдого Бвойство Из Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.Бвойства Π¦ΠΈΠΊΠ»

Если НовыйЭлСмСнт.Бвойства.Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚(Бвойство.ΠšΠ»ΡŽΡ‡) Π’ΠΎΠ³Π΄Π°

НовыйЭлСмСнт[Бвойство.ΠšΠ»ΡŽΡ‡] = Бвойство.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

// ΠŸΠ΅Ρ€Π΅Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ (ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎ)

Если Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.ДСйствия.Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚("ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ") Π’ΠΎΠ³Π΄Π°

НовыйЭлСмСнт.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ”Π΅ΠΉΡΡ‚Π²ΠΈΠ΅("ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ", "ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ”Π»Ρ" + НовоСИмя);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

НСт, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Π½Π΅ прСдоставляСт встроСнного ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° для автоматичСского копирования ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π˜Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ”Π΅ΠΉΡΡ‚Π²ΠΈΠ΅() для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ события ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ привязаны ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ контСксту Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π΅Ρ‘ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ послС копирования элСмСнта Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ срабатываСт?

НаиболСС вСроятныС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

  1. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта
  2. Π’ ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ староС имя элСмСнта
  3. Ошибка Π² привязкС контСкста (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ссылаСтся Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, нСдоступныС Π² Π½ΠΎΠ²ΠΎΠΌ контСкстС)
  4. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ создан динамичСски, Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ зарСгистрирован статичСски Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ”Π΅ΠΉΡΡ‚Π²ΠΈΠ΅() ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² Π΅Π³ΠΎ ΠΊΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° элСмСнтов.

Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всю Π³Ρ€ΡƒΠΏΠΏΡƒ элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, страницу Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ со всСми полями)?

Для копирования Π³Ρ€ΡƒΠΏΠΏΡ‹ элСмСнтов Π½ΡƒΠΆΠ½ΠΎ:

  1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ (страницу Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ, Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈ Ρ‚.ΠΏ.)
  2. РСкурсивно ΠΎΠ±ΠΎΠΉΡ‚ΠΈ всС элСмСнты исходного ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°
  3. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ копию Π² Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅
  4. Π‘ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΈ привязки Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ рСкурсивного копирования:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€(Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΠΎΠ²Ρ‹ΠΉΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠŸΠΎX = 0, Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠŸΠΎY = 0)

Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π¦ΠΈΠΊΠ»

НовыйЭлСмСнт = ΠΠΎΠ²Ρ‹ΠΉΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π’ΠΈΠΏ, Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Имя + "_Копия");

// ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ свойства..

НовыйЭлСмСнт.Π›Π΅Π²ΠΎ = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π›Π΅Π²ΠΎ + Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠŸΠΎX;

НовыйЭлСмСнт.Π’Π΅Ρ€Ρ… = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π’Π΅Ρ€Ρ… + Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠŸΠΎY;

// Если элСмСнт сам являСтся ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ - рСкурсия

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚) = Π’ΠΈΠΏ("Π“Ρ€ΡƒΠΏΠΏΠ°Π€ΠΎΡ€ΠΌΡ‹") Π’ΠΎΠ³Π΄Π°

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚, НовыйЭлСмСнт);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ?

НСт, Ρ€Π°Π±ΠΎΡ‚Π° с элСмСнтами Ρ„ΠΎΡ€ΠΌΡ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² основном ΠΏΠΎΡ‚ΠΎΠΊΠ΅ интСрфСйса. Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ доступа ΠΊ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ Ρ„ΠΎΡ€ΠΌΡ‹. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ динамичСски ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ элСмСнты ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

  • ΠžΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΠ’ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒΠžΠΆΠΈΠ΄Π°Π½ΠΈΡ()
  • Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° этапы с ΠΏΠΎΠΊΠ°Π·ΠΎΠ² прогрСсса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ элСмСнтов Π·Π°Ρ€Π°Π½Π΅Π΅ с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ
Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт Ρ„ΠΎΡ€ΠΌΡ‹ вмСстС с Π΅Π³ΠΎ стилСм оформлСния?

Π‘Ρ‚ΠΈΠ»ΠΈ оформлСния (Ρ†Π²Π΅Ρ‚Π°, ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹, Ρ€Π°ΠΌΠΊΠΈ) ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ вмСстС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ свойствами ΠΏΡ€ΠΈ использовании ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() ΠΈΠ»ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ пСрСноса свойств. Однако для управляСмых Ρ„ΠΎΡ€ΠΌ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Для Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ копирования стиля:

  1. Π―Π²Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ свойства Π¦Π²Π΅Ρ‚Π€ΠΎΠ½Π°, ЦвСтВСкста, Π¨Ρ€ΠΈΡ„Ρ‚ ΠΈ Ρ‚.ΠΏ.
  2. Для слоТных стилСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ (Ссли поддСрТиваСтся)
  3. Π’ управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… примСняйтС Π‘Ρ‚ΠΈΠ»ΡŒΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ стилСй

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

НовыйЭлСмСнт.Π¦Π²Π΅Ρ‚Π€ΠΎΠ½Π° = Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π¦Π²Π΅Ρ‚Π€ΠΎΠ½Π°;

НовыйЭлСмСнт.Π¨Ρ€ΠΈΡ„Ρ‚ = Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π¨Ρ€ΠΈΡ„Ρ‚;

НовыйЭлСмСнт.Π‘Ρ‚ΠΈΠ»ΡŒΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡ = Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π‘Ρ‚ΠΈΠ»ΡŒΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡ;