Also ich hatte ja Code in C# gepostet, den kannst du nicht 1:1 kopieren, du must in übersetzen.
Wenn man in C# eine Typ-Umwandlung machen will, geht das so:
Man schreibt den gewollten Typ einfach in Klammern vor dem was man umgewandelt haben will, so einfach ist das.
Ich entknobel die Zeile ein wenig, denn der Scope von der Umwandlung hat dich vermutlich irritiert.
Nun solltest du das selbst richtig übersetzen können, zum Umwandeln nimm hier DirectCast(was, ZielTyp)
Edit @kafffee
Aber ErfinderDesRades hat schon recht, solche Pinvoke Sachen können schnell zu abstürzen führen(StackImbalance ist mein Favorit). Aber widersprechen tuh ich @ErfinderDesRades mit den DatenTypen, gibt mehr als genug. Wobei viele sogar identisch sind nur anders heißen, hat aber was mit lesbarkeit/wartbarkeit zu tun, auch wenn es auf den ersten Blick unnötig kompliziert wirkt. Nehmen wir HRESULT, eigendlich ein LONG(schau im Anhang), sieht ein C++ Dev das ein HERSULT von einer Funktion zurückkommt, weiß er das es sich um COM Sachen handelt. Würde da auch ein LONG kommen, wäre das nicht so offensichtlich. Das ist nur ein Beispiel, da finde ich das auch Sinnvoll, aber es gibt auch Sachen die ich nutzlos finde, aber das würde hier jetzt zu weit gehen.
Edit2 @kafffee
Ich hab die Mappe jetzt soweit das du experimentieren kannst, hab das auf's Minimum reduziert. Es funktioniert wie ich das wollte. Ich war zwar erst ein wenig auf dem Holzweg, aber hab es gebacken bekommen.
Gibt eine Klasse Titlebar(Titlebar.cs), ein ResourceDictionary mit ControlTemplate(Titlebar.xaml), im Konstruktor weise ich das nicht der Template Property zu wie ich erst wollte, sondern füge sie zu den Resourcen hinzu, wenn noch nicht drin.
Wenn man in C# eine Typ-Umwandlung machen will, geht das so:
Man schreibt den gewollten Typ einfach in Klammern vor dem was man umgewandelt haben will, so einfach ist das.
Ich entknobel die Zeile ein wenig, denn der Scope von der Umwandlung hat dich vermutlich irritiert.
Nun solltest du das selbst richtig übersetzen können, zum Umwandeln nimm hier DirectCast(was, ZielTyp)
Edit @kafffee
Aber ErfinderDesRades hat schon recht, solche Pinvoke Sachen können schnell zu abstürzen führen(StackImbalance ist mein Favorit). Aber widersprechen tuh ich @ErfinderDesRades mit den DatenTypen, gibt mehr als genug. Wobei viele sogar identisch sind nur anders heißen, hat aber was mit lesbarkeit/wartbarkeit zu tun, auch wenn es auf den ersten Blick unnötig kompliziert wirkt. Nehmen wir HRESULT, eigendlich ein LONG(schau im Anhang), sieht ein C++ Dev das ein HERSULT von einer Funktion zurückkommt, weiß er das es sich um COM Sachen handelt. Würde da auch ein LONG kommen, wäre das nicht so offensichtlich. Das ist nur ein Beispiel, da finde ich das auch Sinnvoll, aber es gibt auch Sachen die ich nutzlos finde, aber das würde hier jetzt zu weit gehen.
Edit2 @kafffee
Ich hab die Mappe jetzt soweit das du experimentieren kannst, hab das auf's Minimum reduziert. Es funktioniert wie ich das wollte. Ich war zwar erst ein wenig auf dem Holzweg, aber hab es gebacken bekommen.
Gibt eine Klasse Titlebar(Titlebar.cs), ein ResourceDictionary mit ControlTemplate(Titlebar.xaml), im Konstruktor weise ich das nicht der Template Property zu wie ich erst wollte, sondern füge sie zu den Resourcen hinzu, wenn noch nicht drin.
Zitat von mir 2023:
Was interessiert mich Rechtschreibung? Der Compiler wird meckern wenn nötig
Was interessiert mich Rechtschreibung? Der Compiler wird meckern wenn nötig
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „DTF“ ()