Announcement

Collapse
No announcement yet.

Fehler bei zuweisung?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler bei zuweisung?

    hallo! ich habe ein Viewport3d Steuerelement auf einer form, in dem ich zwei Viewport2DVisual3D elemente erstellt hab.

    jetzt versuche ich die Viewport2DVisual3D.Visual von dem einen Objekt auch auf dem anderen Darzustellen, deshalb habe ich folgenden Befehl verwendet:

    Viewport2DVisual3D2.Visual=Viewport2DVisual3D1.Vis ual;

    ich bekomme eine Fehlermeldung und verstehe nicht warum! bitte um Hilfe!

    danke

  • #2
    Hallo,

    vielleicht solltest Du kurz erklären, was Viewport2D und Viewport3D sind und machen; sonst musst Du auf Spezialisten warten. Aber vor allem gilt:

    Originally posted by herrfroehlich View Post
    ich bekomme eine Fehlermeldung und verstehe nicht warum!
    Ich auch nicht: Es wäre sehr hilfreich, die betreffende Fehlermeldung und die Situation/Umgebung, in der der Fehler auftritt, zu erfahren; eine Glaskugel besitze ich nicht.

    Übrigens gehören Bezeichner wie Button7 und TextBox15 verboten; da blickt auch ein fröhlicher Programmierer nach spätestens zwei Wochen nicht mehr durch.

    Gruß Jürgen

    Comment


    • #3
      eine Glaskugel besitze ich nicht.
      Nun..das lässt sich ändern..

      http://www.mercateo.com/kw/glaskugel/glaskugel.html

      Glaube, das sind da aber noch ältere Modelle, die sagen nix zu Softwareproblemen...bauchen erst ein spirituelles Update

      :-)
      Christian

      Comment


      • #4
        etwas genauer

        Die Bezeichnung diente nur zur veranschaulichung

        also ein Viewport3d Stellt ein 3d objekt dar.
        ein Viewport2DVisual3D erlaubt einem auch 2D obkekte wie Steuerelemente in einer 3d szene Darzustellen.

        in der Visual eigenschaft des Viewport2DVisual3D steht das objekt das in die 3d szene gezeichnet wird. zb ein Button.

        Zur veranschaulichung mein Problem als angehängtes Projekt simpel zusammengefasst.
        Attached Files

        Comment


        • #5
          Hallo,

          es gibt einige Grundregeln (die glaube ich nirgends stehen, aber der Verstand sollte es einem schon ermöglichen) die zur Beantwortung behilfreich sein könnten:
          1. Möglichst genaue Beschreibung des Problems.
          2. Wenn ein Fehler auftritt die Fehlermeldung wiedergeben.
          3. Was wurde bereits versucht um das Problem/Fehler zu lösen/beheben.
          4. Wenn ein Beispielsprojekt angehängt wird sollte es funktionieren bzw. sollte angegeben werden dass ein Fehler darin auftritt (-> siehe Punkt 2) und womöglich auch Angabe der Zeilennummer wo der Fehler auftritt (sofern aus Fehlermeldung nicht ersichtlich).


          Keiner der Punkte wurde von dir erfüllt. Wie soll dir da jemand helfen?

          mfG Gü
          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

          Comment


          • #6
            1. Mein Problem liegt darin, dass ich eine Fehlermeldung bekomme sobald ich versuche die Visual eigenschaft des einen Viewport2DVisual3D in das andere zu kopieren.

            2. Fehlermeldung: Die in der Assembly "Test_Projekt_3d, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" definierte Instanz von "Window1" kann nicht erstellt werden. Ein Aufrufziel hat einen Ausnahmefehler verursacht. Fehler in Markupdatei "Window1.xaml", Zeile 1, Position 9.

            3. Google, aber nichts gefunden. außerdem ist es für mich nicht zu erschließen warum ein fehler auftritt.

            4. Der fehler tritt in Zeile 25 der Datei Window1.xaml.cs auf (_Right.Visual = _Left.Visual Wenn man diese Zeile rauskommentiert geht es

            entschuldigung, ich bin ziemlich neu hier, ich hoffe dass es jetzt besser ersichtlich ist. wenn nicht entschuldige ich mich

            Comment


            • #7
              So ist es besser .

              Das Problem ist alos dass der Eigenschaft _Right.Visual etwas falsches zugeordnet wird. Mehr kann ich leider nicht sagen da ich mich mit WPF nicht allzu gut auskenne. Aber jetzt weißt du wenigsten wo anzusetzen ist.

              mfG Gü

              PS: Da WPF noch relativ neu ist wäre es auch gut dies in Fragen anzumerken. Die Entwicklung von WinForms und WPF ist verschiedenen - somit werden "neue Probleme" von vornherein vermieden.
              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

              Comment


              • #8
                ich versteh aber nicht was daran falsch sein kann, da _Right und _Left eigentlich gleich sind. sind ja beides Viewport2DVisual3D. von daher muss es doch möglich sein die Visual eigenschaft von _Left _Right zuzuordnen, oder lieg ich hier falsch?

                Simples Beispiel:
                ich habe 2 Labels.
                dann kann ich ja auch machen Label_Rechts.Content = Label_Links.Content;
                oder nicht?

                Comment


                • #9
                  Hallo! ich habe mal versucht erst die Visual eigenschaft von _Left zu löschen und in eine variable geschrieben, und dann auf _Right übertragen. dann geht es. d.h. man kann nicht 2 mal die selbe Visual eigenschaft auf 2 Objekte Festlegen. meine Frage nun: wie kann ich die Visual eigenschaft von _left kopieren, dass ich eine kopie derer auf _Right anwenden kann.

                  so funktioniert es, deshalb mein verdacht:
                  using System;
                  using System.Collections.Generic;
                  using System.Linq;
                  using System.Text;
                  using System.Windows;
                  using System.Windows.Controls;
                  using System.Windows.Data;
                  using System.Windows.Documents;
                  using System.Windows.Input;
                  using System.Windows.Media;
                  using System.Windows.Media.Imaging;
                  using System.Windows.Navigation;
                  using System.Windows.Shapes;
                  using System.Windows.Media.Media3D;

                  namespace WpfApplication1
                  {
                  /// <summary>
                  /// Interaktionslogik für Window1.xaml
                  /// </summary>
                  public partial class Window1 : Window
                  {
                  public Window1()
                  {
                  InitializeComponent();
                  Visual Temp = new Grid();
                  Temp = _Left.Visual;
                  _Left.ClearValue(Viewport2DVisual3D.VisualProperty );

                  _Right.Visual = Temp;
                  }
                  }
                  }

                  Comment


                  • #10
                    Ich kenn WPF jetzt nicht so wirklich, aber am einfachsten wäre es wohl, wenn das Visual-Object ICloneable implementiert. Damit lässt sich das Objekt kopieren, Wenns nicht implementiert ist, dann kannst du ja auch von der Visual-Klasse ableiten und dieses Interface implementieren. Musst dann halt selber aufpassen, wegen flacher/tiefer Kopie (wenn ich richtig drann bin, erzeugt die Clone()-Methode eine tiefe Kopie).
                    Oder erzeug dir ein neues Visual-Objekt und initialisier dieses eben mit den Werten aus dem vorhandenen Objekt. Dann hättest du quasi auch ne (flache) Kopie.
                    Just be DRY and KISS your customers.

                    Comment

                    Working...
                    X