0 / 0 / 0
Регистрация: 07.11.2018
Сообщений: 18
1
WPF

Пример Save The Humans / ошибка CS1503

11.02.2019, 20:16. Показов 2370. Ответов 2

Author24 — интернет-сервис помощи студентам
Добрый вечер! Сейчас прохожу пример из книжки Эндрю Стиллмена "Head First. C#" издательства O'Reilly. Застрял на первом примере Save The Humans - при компиляции выдает ошибку CS1503 - "Не удается преобразовать из "string" в "System.Windows.PropertyPath"", и что я только уже не делал! Все ошибки кода исправил, а над этой до сих пор мучаюсь, помогите!

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Animation;
 
namespace mainpage
{
    /// <summary>
    /// Логика взаимодействия для MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        Random random = new Random();
 
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            AddEnemy();
        }
 
        private void AddEnemy()
        {
            ContentControl enemy = new ContentControl();
            enemy.Template = Resources["EnemyTemplate"] as ControlTemplate;
            AnimateEnemy(enemy, 0, playArea.ActualWidth - 100, "(Canvas.left)");
            AnimateEnemy(enemy, random.Next((int)playArea.ActualHeight - 100),
                random.Next((int)playArea.ActualHeight - 100), "(Canvas.Top)");
            playArea.Children.Add(enemy);
        }
 
        private void AnimateEnemy(ContentControl enemy, double from, double to, string propertyToAnimate)
        {
            Storyboard storyboard = new Storyboard() { AutoReverse = true, RepeatBehavior = RepeatBehavior.Forever };
            DoubleAnimation animation = new DoubleAnimation()
            {
                From = from,
                To = to,
                Duration = new Duration(TimeSpan.FromSeconds(random.Next(4, 6)))
            };
            Storyboard.SetTarget(animation, enemy);
            Storyboard.SetTargetProperty(animation, propertyToAnimate);
            storyboard.Children.Add(animation);
            storyboard.Begin();
        }
    }
}
Добавлено через 22 минуты
строка, на которой выдаёт ошибку - 45
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2019, 20:16
Ответы с готовыми решениями:

Save the humans. Исключение ArgumentOutOfRangeException
Читаю книгу &quot;Изучаем C#&quot; 3-е издание. При запуске игры и нажатии на кнопку Start вылазит окно с...

Save the Humans - The name 'storyboard' does not exist in the current context
Все доброго времени суток. Начинающий учусь по книге издательства O'Reilly. Изучаем C# 3-е...

WPF / Save The Humans / не работает должным образом кнопка startButton / VS 2019
Добрый вечер! Сейчас читаю книгу Эндрю Стиллмена &quot;Head First. C#&quot;. Сделал первый пример, сборка...

WPF / Save The Humans / не работает должным образом кнопка startButton / VS CM2017
Добрый вечер! Сейчас прохожу пример из книжки Эндрю Стиллмена &quot;Head First. C#&quot; издательства...

2
879 / 558 / 291
Регистрация: 21.11.2012
Сообщений: 1,553
12.02.2019, 17:55 2
Лучший ответ Сообщение было отмечено thundermeow как решение

Решение

thundermeow,

Метод SetTargetProperty в качестве второго параметра требует PropertyPath, а вы ему пихаете стринг

попробуйте так:
C#
1
Storyboard.SetTargetProperty(animation, new PropertyPath(propertyToAnimate));
1
0 / 0 / 0
Регистрация: 07.11.2018
Сообщений: 18
12.02.2019, 20:43  [ТС] 3
Спасибо, Вы мне очень помогли! Ошибок больше нет!
0
12.02.2019, 20:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2019, 20:43
Помогаю со студенческими работами здесь

Ошибки в Save the Humans (книга "Изучаем С#")
Как известно у многих возникают проблемы с первой игрой из этой книги - Изучаем С# 3-издание....

Ошибка CS1503
Не удается преобразовать из &quot;System.Collections.Generic.IEnumerable&lt;string&gt;&quot; в...

Ошибка CS1503
Есть метод: internal void DrawAlternative&lt;TDrawObject, TFillObject,...

Ошибка CS1513 и CS1503
Добрый вечер, не могу понять как исправить данные ошибки: CS1513 Требуется } (Перед else) CS1503...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru