Benutzer mit den meisten Antworten
x:Bind sagt es ist falsch, obwohl Programm funktioniert.

Frage
-
Hallo,
kann mir bitte einer mal erklären, warum mir das als Fehler angekreidet wird, obwohl alles funktioniert?
<Page
...
...
xmlns:Core="using:CateringPro.Core.Models.Orders"><Page.Resources> <CollectionViewSource x:Name="ItemsOrders" x:Key="ItemsOrdersCollectionView"/> </Page.Resources> <ListView Grid.Row="2" ItemsSource="{x:Bind ItemsOrders.View, Mode=TwoWay}"> <ListView.ItemTemplate> <DataTemplate x:DataType="Core:OrderItem"> <TextBlock Text="{x:Bind AuftragsNr , Mode=OneWay}"/> </DataTemplate> </ListView.ItemTemplate> </ListView>
Und zwar meine ich die Stelle im TextBlock "x:Bind AuftragsNr". Das Programm funktioniert, aber die IntelliSense will mir einfach keine Felder anzeigen und angeblich konnte AuftragsNr in MainPage.xaml nicht gefunden werden. Klar, sie ist ja auch im Core und den xmlns habe ich auch korrekt angegeben.
Auch wenn alles funktioniert, nervt das, weil, wenn man viele Felder hat, hat man natürlich auch viele Fehlermeldungen.
Gruß
Andy
Antworten
-
Hi Andy,
was der Designer anzeigt, erzeugt er wie zur Ausführungszeit, d.h. er nutzt die unterschiedlichen dll (bzw. exe). Wenn z.B. x:Bind genutzt wird, muss die entsprechende dll (bzw. exe) zur Verfügung stehen. Wenn diese dll (bzw. exe) nicht vorhanden ist, weist der Designer Probleme aus. Das kann z.B. schon sein, wenn Code der dll (bzw. exe) geändert wurde und damit die dll (bzw. exe) nicht mehr in der benötigten Version zur Verfügung steht. Mit dem Übersetzungslauf wird die dll (bzw. exe) erzeugt und es gibt während der Ausführung keine Probleme, auch bei der nachfolgenden Nutzung des designers bis zur nächsten Änderung im Code der dll (bzw. exe).
--
Best Regards / Viele Grüße
Peter Fleischer (former MVP for Developer Technologies)
Homepage, Tipps, TricksGuten Morgen :-)
da hatte ich eigentlich nichts geändert. Ich hatte jetzt z.B. den Fall, am frühen Morgen, gehabt, dass ich Visual Studio gestartet habe, mein Projekt geöffnet habe und mir wurden 22 Fehler angezeigt. Habe ihn ganz ruhig laden lassen, danach auch in Ruhe gelassen, dann habe ich Wahllos auf einer der 22 Fehler doppelt geklickt, die XAML ging auf, die Fehler wurden alle unterstrichen angezeigt (x:Bind's) und zwei Sekunden später wurden alle 22 "Fehler" wieder entfernt. Kein kompilieren, nichts. Seltsamerweise drehte der Lüfter die ganze Zeit wie sonst was. Als ich den Fehler angeklickt habe und diese weggingen, plötzlich Ruhe im Karton.
Gruß
Andy- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 15. Februar 2021 14:00
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 24. Februar 2021 14:18
Alle Antworten
-
Hallo Andy,
In Deinem Fall die Eigenschaft eines XAML-Elements an die Eigenschaft eines anderen XAML-Elements zu binden, der XAML-Code sollte wie folgt lauten:
<TextBox x:Name="AuftragsNr" /> <TextBlock Text="{x:Bind AuftragsNr.Text, Mode=OneWay}" />
Weitere Informationen findest Du im folgenden Artikel:
Datenbindung im Detail > Element-an-Element-Bindung
Gruß,
Ivan DragovBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Hallo Andy,
In Deinem Fall die Eigenschaft eines XAML-Elements an die Eigenschaft eines anderen XAML-Elements zu binden, der XAML-Code sollte wie folgt lauten:
<TextBox x:Name="AuftragsNr" /> <TextBlock Text="{x:Bind AuftragsNr.Text, Mode=OneWay}" />
Weitere Informationen findest Du im folgenden Artikel:
Datenbindung im Detail > Element-an-Element-Bindung
Gruß,
Ivan Dragov
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
Hallo Ivan,
ich glaube du hast mich da jetzt Missverstanden. Ich wollte keine Textbox binden. Die OrderItem ist eine Klasse mit Feldern. Und das Feld AuftragsNr wollte ich auf der Seite anzeigen. Was auch funktioniert. Also, ganz wichtig, Programm funktioniert.
Aber ich bekomme in der IntelliSense trotzdem den Fehler angezeigt. Seltsamerweise lautet die Meldung "Die 'AuftragsNr'-Eigenschaft wurde in Typ MainPage nicht gefunden."
Aber da soll ja auch nicht gesucht werden, sondern wie im DataTemplate angegeben in Core:OrderItem. Und das macht die IntelliSense offensichtlich nicht. Und ja, alle Updates sind installiert :-)
Gruß
Andy -
Hallo,
es geht jetzt. Einfach so.
Das einzige was ich gemacht habe, kurz die Minimal-Version geändert. Einmal rauf und wieder runter. Ich glaube, selbst VS mal schließen hätte ausgereicht. Jedenfalls funktioniert jetzt alles wie es soll.
Darauf hätte ich auch mal eher kommen können...
Gruß
Andy -
Hi Andy,
was der Designer anzeigt, erzeugt er wie zur Ausführungszeit, d.h. er nutzt die unterschiedlichen dll (bzw. exe). Wenn z.B. x:Bind genutzt wird, muss die entsprechende dll (bzw. exe) zur Verfügung stehen. Wenn diese dll (bzw. exe) nicht vorhanden ist, weist der Designer Probleme aus. Das kann z.B. schon sein, wenn Code der dll (bzw. exe) geändert wurde und damit die dll (bzw. exe) nicht mehr in der benötigten Version zur Verfügung steht. Mit dem Übersetzungslauf wird die dll (bzw. exe) erzeugt und es gibt während der Ausführung keine Probleme, auch bei der nachfolgenden Nutzung des designers bis zur nächsten Änderung im Code der dll (bzw. exe).--
Best Regards / Viele Grüße
Peter Fleischer (former MVP for Developer Technologies)
Homepage, Tipps, Tricks -
Hi Andy,
was der Designer anzeigt, erzeugt er wie zur Ausführungszeit, d.h. er nutzt die unterschiedlichen dll (bzw. exe). Wenn z.B. x:Bind genutzt wird, muss die entsprechende dll (bzw. exe) zur Verfügung stehen. Wenn diese dll (bzw. exe) nicht vorhanden ist, weist der Designer Probleme aus. Das kann z.B. schon sein, wenn Code der dll (bzw. exe) geändert wurde und damit die dll (bzw. exe) nicht mehr in der benötigten Version zur Verfügung steht. Mit dem Übersetzungslauf wird die dll (bzw. exe) erzeugt und es gibt während der Ausführung keine Probleme, auch bei der nachfolgenden Nutzung des designers bis zur nächsten Änderung im Code der dll (bzw. exe).
--
Best Regards / Viele Grüße
Peter Fleischer (former MVP for Developer Technologies)
Homepage, Tipps, TricksGuten Morgen :-)
da hatte ich eigentlich nichts geändert. Ich hatte jetzt z.B. den Fall, am frühen Morgen, gehabt, dass ich Visual Studio gestartet habe, mein Projekt geöffnet habe und mir wurden 22 Fehler angezeigt. Habe ihn ganz ruhig laden lassen, danach auch in Ruhe gelassen, dann habe ich Wahllos auf einer der 22 Fehler doppelt geklickt, die XAML ging auf, die Fehler wurden alle unterstrichen angezeigt (x:Bind's) und zwei Sekunden später wurden alle 22 "Fehler" wieder entfernt. Kein kompilieren, nichts. Seltsamerweise drehte der Lüfter die ganze Zeit wie sonst was. Als ich den Fehler angeklickt habe und diese weggingen, plötzlich Ruhe im Karton.
Gruß
Andy- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 15. Februar 2021 14:00
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 24. Februar 2021 14:18