Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
WPF GUI im Designer nicht sichtbar: "Invalid Markup"
mankingwwe
myCSharp.de - Member



Dabei seit:
Beiträge: 39

Themenstarter:

WPF GUI im Designer nicht sichtbar: "Invalid Markup"

beantworten | zitieren | melden

Hey hat jemand eine Ahnung warum ich die Gui nicht sehen kann? [Das Programm funktioniert beim Ausführen]


<Window x:Class="Parking.ParkingMeter.Views.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:viewModels="clr-namespace:Parking.ParkingMeter.ViewModels"
        mc:Ignorable="d"
        Title="ParkingMenu" Height="300" Width="300">
    <Window.Resources>
        <BooleanToVisibilityConverter x:Key="BoolToVis"/>
    </Window.Resources>
    <Grid>
        <StackPanel>
            <Label>Welcome to ParkingMenu. Please pull a Ticket!</Label>
            <GroupBox Header="Preis">
                <Label Content="{Binding Path=(viewModels:MainViewModel.PriceTag)}" />
            </GroupBox>
            <GroupBox Header="Ticket">
                <StackPanel Orientation="Vertical">
                    <StackPanel Orientation="Horizontal" Margin="0,0,0,10">
                        <Label>Parkdauer in Stunden:</Label>
                        <TextBox Text="{Binding Path=(viewModels:MainViewModel.DurationHours), Mode=TwoWay}" MinWidth="120"/>
                    </StackPanel>
                    <Button Command="{Binding Path=(viewModels:MainViewModel.PullTicketCommand)}" CommandParameter="{Binding Path=(viewModels:MainViewModel.DurationHours)}">Ticket lösen</Button>
                    <StackPanel>
                        <TextBlock TextWrapping="Wrap" Visibility="{Binding Path=(viewModels:MainViewModel.HasCurrentTicket), Converter={StaticResource BoolToVis}, FallbackValue=Hidden}" Text="{Binding Path=(viewModels:MainViewModel.CurrentTicketDisplay)}" />
                    </StackPanel>
                </StackPanel>
            </GroupBox>
        </StackPanel>
    </Grid>
</Window>

Attachments
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

beantworten | zitieren | melden

Hi mankingwwe,

was steht denn in der Fehlerliste? Ansonsten ist der eingebaute Designer nicht wirklich verwendbar, ich nutze eigentlich nur den X(A)ML-Editor für die Erstellung der Oberflächen.
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
pinki
myCSharp.de - Member

Avatar #avatar-4072.jpg


Dabei seit:
Beiträge: 709
Herkunft: OWL

beantworten | zitieren | melden

Hallo mankingwwe,
ist das ViewModel static?
Eigentlich sollte es im DataContext des Fensters sein.
Dann kannst du dir beim Binding das viewModels:MainViewModel sparen, sodass du statt viewModels:MainViewModel.PriceTag nur noch PriceTag schreiben brauchst.

Das Grid als oberstes Layout-Element ist auch überflüssig.
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

beantworten | zitieren | melden

Zitat von pinki
Eigentlich sollte es im DataContext des Fensters sein.

Siehe dazu die Anleitung in [Artikel] MVVM und DataBinding
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
mankingwwe
myCSharp.de - Member



Dabei seit:
Beiträge: 39

Themenstarter:

beantworten | zitieren | melden



using Parking.ParkingMeter.ViewModels;

namespace Parking.ParkingMeter.Views
{
    /// <summary>
    ///     Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow
    {
        /// <summary>   Default constructor. </summary>
        public MainWindow()
        {
            InitializeComponent();
        }

        /// <summary>   Sets the view model. </summary>
        /// <value> The view model. </value>
        [Unity.Attributes.Dependency]
        public MainViewModel ViewModel
        {
            set => DataContext = value;
        }
    }
}


Ist doch im Data Context ?
private Nachricht | Beiträge des Benutzers
Deaktiviertes Profil
myCSharp.de - Member



Dabei seit:
Beiträge: 985

beantworten | zitieren | melden

Mag ja sein, dass da was im DataContext ist, aber das wogegen du das Binding erstellt hast, greift darauf nicht zu.

Wenn, dann würde es aussehen wie
<Label Content="{Binding Path=PriceTag}" />
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Deaktiviertes Profil am .
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

beantworten | zitieren | melden

Das ist wirklich nicht so kompliziert, und steht auch alles gleich im ersten Abschnitt von [Artikel] MVVM und DataBinding

Wenn etwas nicht funktioniert wie gewünscht, dann gehe die Hinweise im Abschnitt Debugging durch.
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1.029
Herkunft: Mainz

beantworten | zitieren | melden

Hi,

du musst die Fehlermeldung aus deiner Fehlerliste nennen - sonst kann man nicht sagen was los ist...

@Sir Rufo:
Warum sollte seine Schreibweise nicht darauf zugreifen? Das ist lediglich eine Methode anzugeben was das für ein Typ ist, der da gebunden wird.

LG
private Nachricht | Beiträge des Benutzers
mankingwwe
myCSharp.de - Member



Dabei seit:
Beiträge: 39

Themenstarter:

beantworten | zitieren | melden

falls ihr das mit "fehlerliste" meint
Attachments
private Nachricht | Beiträge des Benutzers
mankingwwe
myCSharp.de - Member



Dabei seit:
Beiträge: 39

Themenstarter:

beantworten | zitieren | melden

Beim kompilieren gibts keine Fehler..
Attachments
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

beantworten | zitieren | melden

Was passiert, wenn du es so schreibst:
<Label Content="{Binding PriceTag}" />
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
mankingwwe
myCSharp.de - Member



Dabei seit:
Beiträge: 39

Themenstarter:

beantworten | zitieren | melden

Kompiliert nach wie vor ohne Fehlermeldung dann
Attachments
private Nachricht | Beiträge des Benutzers
mankingwwe
myCSharp.de - Member



Dabei seit:
Beiträge: 39

Themenstarter:

beantworten | zitieren | melden

Alles gut habe den Fehler gefunden :)
Habe überall diesen langen Pfad rausgenommen und den kurzen eingefügt und schon kann ich es wieder sehen :)
Danke Sparkle und die anderen :)
private Nachricht | Beiträge des Benutzers