Wątek przeniesiony 2016-08-09 11:15 z C# i .NET przez ŁF.

Error. Metoda nie statyczna

0

To wszystko co tam wklepałem to przepisałem z książki więc nie piszcie mi czegoś w stylu cały kod do wyrzucenia albo zacznij od aplikacji z interfejsem tekstowym albo najlepiej od pracy na kasie w biedronce.

Error wygląda tak a autor twierdzi że nie powinno nic być bo wszystko było wielokrotnie sprawdzane. Sprawdzałem czy się gdzieś nie pomyliłem ale nie zauważyłem niczego.

Error 2 An object reference is required for the non-static field, method, or property 'Windows.UI.Xaml.Media.Animation.Storyboard.Begin()' R:!!!Projekty_c#\Ratuj ludzi\Ratuj ludzi\MainPage.xaml.cs 81 9 Ratuj ludzi

w załączniku dodaje jeszcze fote. I pokornie proszę o pomoc.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using Windows.UI.Xaml.Media.Animation;

// The Basic Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234237

namespace Ratuj_ludzi
{
    /// <summary>
    /// A basic page that provides characteristics common to most applications.
    /// </summary>
    public sealed partial class MainPage : Ratuj_ludzi.Common.LayoutAwarePage
    {
        Random random = new Random();
        public MainPage()
        {
            this.InitializeComponent();
        }

        /// <summary>
        /// Populates the page with content passed during navigation.  Any saved state is also
        /// provided when recreating a page from a prior session.
        /// </summary>
        /// <param name="navigationParameter">The parameter value passed to
        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested.
        /// </param>
        /// <param name="pageState">A dictionary of state preserved by this page during an earlier
        /// session.  This will be null the first time a page is visited.</param>
        protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
        {
        }

        /// <summary>
        /// Preserves state associated with this page in case the application is suspended or the
        /// page is discarded from the navigation cache.  Values must conform to the serialization
        /// requirements of <see cref="SuspensionManager.SessionState"/>.
        /// </summary>
        /// <param name="pageState">An empty dictionary to be populated with serializable state.</param>
        protected override void SaveState(Dictionary<String, Object> pageState)
        {
        }

        private void Button_Click_1(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();
        }

        private void ProgressBar_ValueChanged_1(object sender, RangeBaseValueChangedEventArgs e)
        {

        }
    }
}
 
2

Obiekt klasy Storyboard to storyboard pisany z małej litery.

 
   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();
        }

0

Mistrzu mój ślepy byłem! Dzięki tobie przejrzałem na oczy! Działa. Wielkie dzięki ^^

1 użytkowników online, w tym zalogowanych: 0, gości: 1