Laden...

Forenbeiträge von p!lle Ingesamt 1.040 Beiträge

01.07.2019 - 13:53 Uhr

Dann erstellt mir VS keine XAML datei 👶

Das ist korrekt, die musst du selber anlegen.
Stichwort: ResourceDictionary

@pinki: Ja es erbt wohl eine Content-Eigenschaft.

In deinem UserControl definierst du den kompletten Content, "von außen" überschreibst du ihn dann wieder. Deswegen geht es nicht.

Schau dir auch mal die Property "ContentTemplate" an.

01.07.2019 - 13:40 Uhr

Vermutlich ist das Problem, dass es ein "komplettes" UserControl ist.
Dass was du möchtest ist eher ein Custom Control:
https://blogs.msdn.microsoft.com/windowsappdev/2012/10/15/building-a-custom-control-using-xaml-and-c/

Bei Custom Controls trennt man quasi Code und XAML voneinander. Deine Klasse kann dann von einem ContentControl erben.

=)

01.07.2019 - 13:15 Uhr

Nimm als Basis ein ContentControl anstatt ein UserControl.

04.06.2019 - 15:01 Uhr

Siehe oben, du ziehst dir die Daten unterm Arsch weg.

Kannst du nochmal genau erklären, was du machen möchtest?
Du zeigst Daten aus einem Array im Grid an, bearbeitest sie dort und möchtest sie in das Array zurückschreiben, richtig? Dann ist doch die Anzeige schon korrekt?

04.06.2019 - 13:22 Uhr

Du änderst halt die Daten des Grids, während du noch in einem Event der aktuellen Daten hängst. Kann durchaus schon die Ursache sein.

04.06.2019 - 12:38 Uhr

Also dein Vorgehen ist irgendwie merkwürdig.

Was passiert, wenn du nur den Wert in der DataTable änderst?

04.06.2019 - 11:56 Uhr

Hä?

Du schreibst doch selbst:

  
#nullable enable  
public PersonEntity Person {get;set;} // Kann nicht null sein  
  

D.h. es ist nicht nullable.

EDIT: einfacher und verständlicher wäre wohl ein ? für string und Co. gewesen.

04.06.2019 - 11:33 Uhr

Ja, also doch richtig verstanden.
Dann wäre "non-nullable" irgendwie logischer, schließlich kann es ja nicht null sein.

04.06.2019 - 11:18 Uhr

Okay, dann verstehe ich es nicht.
Warum darf name dann eben nicht null sein?

04.06.2019 - 10:28 Uhr
  
#nullable enable  
  

Für die öffentliche Klasse Person wurde das "nullable feature" explizit aktiviert*, somit könnte man meinen, dass name eben nicht null sein darf.

Sowas verwirrt mich immer, das Feature heißt "nullable", wenn man es einschaltet aktiviert man aber eigtl. "non-nullable".
Wahrscheinlich verstehe ich wieder irgendwas nicht, aber für mich isses verdreht. 🤔

29.05.2019 - 09:42 Uhr

Kannst du die kaputte Solution zur Verfügung stellen?
Gerne auch abgespeckt, sodass nur 3 Projekte oder so in der Solution sind. =)

26.04.2019 - 09:35 Uhr

Du hast ein Projekt im VS erstellt und suchst jetzt die .exe-Datei, die das Projekt ausspuckt oder wie? 🤔

11.04.2019 - 13:54 Uhr

Moin,

entschuldigt bitte die verspätete Antwort, war die letzten Wochen kaum online.

Im Endeffekt ist es ja dann doch ziemlich einfach, man ist nur irgendwie immer zu verwöhnt von den ganzen Kurzschreibweisen. 👅

Also entweder so

<TabItem>
    <TabItem.Visibility>
        <Binding Path="MeineTolleProperty" Converter="{StaticResource meinTollerConverter}" />
    </TabItem.Visibility>
</TabItem>

oder so

<TabItem>
    <TabItem.Visibility>
        <Binding Source="{MeineTolleMarkupExtension MeinTollerKonstrParam}" Converter="{StaticResource meinTollerConverter}" />
    </TabItem.Visibility>
</TabItem>

Die Ausgangsfrage hat sich mittlerweile aber schon wieder erledigt bzw. die Anforderung hat sich geändert, sodass ich das Ganze aktuell doch nicht brauche.
Nichtsdestotrotz wieder etwas dazugelernt. 👍

04.04.2019 - 15:33 Uhr

Dann ist der Titel aber komplett falsch, das Downloaden funzt ja problemlos.

Und wenn der Quelltext nicht mehr hergibt, kann man da eher weniger machen, hat ja seine Gründe warum da nicht alles zu sehen ist (Stichwort: Sicherheit). Schau doch sonst mal, ob die Post bzw. DHL eine Api für deinen Anwendungsfall hat. Oder schaue nach einer App. =)

04.04.2019 - 15:10 Uhr

Wenn ich den Quelltext im Browser öffne, ist die Webseite auch nicht vollständig zu sehen.

Der Quelltext, den du im Browser siehst, passt also zum heruntergeladenen? Dann funktioniert das zumindest ohne Probleme.

Dass der Quellcode nicht alles zeigt, liegt an evtl. Skripten oder eingebundenen Dateien oder so (bin da kein Profi).

04.04.2019 - 14:23 Uhr

Es fühlt sich auch irgendwie falsch an, mit Werten aus dem MainWindow in der App.xaml.cs etwas zu machen. 🤔

04.04.2019 - 13:48 Uhr

Der Unterschied:
Der "Text" der TextBox ist eine DependencyProperty, die "Source" des WebBrowser eine einfache Property.

Dadurch bekommt das Binding die Änderung des Wertes nicht mit.

04.03.2019 - 11:14 Uhr
<TabItem Visibility={MeineTolleMarkupExtension MeinTollerKonstrParam, Converter={MeinTollerConverter}}  

Das geht ja ohne Problem, habe das "Visibility" mal ergänzt.
Nur weiß ich eben nicht, wie ich es angebe, wenn ich es eben über

<TabItem>
    <TabItem.Visibility>
        ???
    </TabItem.Visibility>
</TabItem>

setzen muss.

Die MarkupExtension liefert ein bool zurück, entsprechend muss für die Visibility ein Converter dazwischen. 😉

04.03.2019 - 09:41 Uhr

Moin,

stehe derzeit vor einem (wahrscheinlich) kleinen Problem, zu dem mir partout keine Lösung einfällt (bzw. keine Schlagwörter für Google einfallen). 🤔

Normalerweise kann man über ein Bindung bzw. ein Markup (mit Konstruktorparameter) ja total einfach eine Visibility setzen:

<TabItem Visibility="{Binding MeineTolleProperty}"
<TabItem Visibility="{MeineTolleMarkupExtension MeinTollerKonstrParam}"

Nun benötige ich aber für das Binding/das Markup einen Converter, den ich in den Ressourcen des TabItem definiere, dadurch kann ich erst später im XAML die Visibility setzen:

<TabItem>
    <TabItem.Visibility>
        ???
    </TabItem.Visibility>
</TabItem>

Für ein Binding lässt sich die Stelle mit den "?" leicht füllen, wie aber macht man es bei einem Markup mit Konstruktorparametern? 🤔

25.02.2019 - 10:16 Uhr

Es kann also evtl. auch nötig sein, direkt die
>
mitzuliefern.

Das "evtl." kann man doch streichen.
Wenn man dieses Format nutzt, gehört die packages.config zum Projekt (also ist in der Projektstruktur eingebunden), sonst weiß NuGet doch gar nicht welche Projekte es ziehen muss. =)

20.02.2019 - 08:55 Uhr

Du kannst ein Element ja an mehreren Seiten verankern, spiele damit mal rum. =)

07.02.2019 - 13:49 Uhr

Eine Fehlermeldung wird nicht ausgegeben.

Bei Binding-Problemen lohnt sich immer ein Blick in den Output, da findet man meistens Informationen.
Zum Problem: bin mir nicht 100%ig sicher, ob es überhaupt funktioniert, aber wenn dann am ehesten mit dem Schlagwort RelativeSource.

07.02.2019 - 13:45 Uhr

Anscheinend machen ja die Telerik-Controls die Probleme.
Entweder du testet es mal mit normalen Controls oder du schaust dir evtl. das an: [Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden.

Im Standard scheint ja alles korrekt zu funktionieren.

16.01.2019 - 11:46 Uhr

schlecht(er als nötig) präsentieren: z.B. durch fehlende Dokumentation, veraltete / ungetestete Codes, ...

Nun ja, man sollte dann aber im Hinterkopf haben, dass da in der Regel 16-/17-jährige sitzen, wer denen das "vorhält" - nun ja... 😉

14.01.2019 - 18:31 Uhr

Moin,

aus dem Visual Studio 2017 heraus lässt sich ja mittlerweile der Android Device Manager starten, der von Hause aus mitkommt (zumindest wenn man diese Sachen bei der Installation ausgewählt hat).

Nach dem Öffnen ist es problemlos möglich, ein Device anzulegen und auch zu starten. Siehe erstes Bild.

Schließe ich jetzt den Android Device Manager und starte ihn nochmal, kann ich das gerade eben angelegte und testweise gestartete Device nicht mehr starten, siehe Bild im nächsten Beitrag.

Er sagt beim Fehler "Datei 'config.ini' im AVD-Datenordner fehlt", diese wurde aber seit dem letzten Start nicht verschoben und ist noch immer da, siehe Ordner im ersten Bild.

Hat jemand eine Idee, woran es liegen könnte? 🙁

07.01.2019 - 13:57 Uhr

Also ein einfacher Test mit Textboxen (kein Telerik vorhanden) hat ergeben, dass das Ganze wunderbar funktioniert.

Wenn das Grid angezeigt wird, werden die Textboxen "angetabt", wenn das Grid unsichtbar geschaltet wird eben nicht (Visibility am Grid setzen, keine Ahnung was Grid_Visibility ist).
Ebenso funktioniert es, wenn einzelne Textboxen unsichtbar geschaltet werden.

Funktioniert es mit RadMaskedTextInput denn, wenn die Controls angezeigt werden? 🤔

07.01.2019 - 09:21 Uhr

Wahrscheinlich fehlt irgendwo eine Verknüpfung oder der Name der Region ist evtl. unvollständig?

Um auszuschließen, dass es an deiner Projektstruktur liegt, empfehle ich dir den Link:
[Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden

07.01.2019 - 09:18 Uhr

Ich persönlich würde dann eher aus der Top-Antwort den zweiten Teil nehmen und

ShutdownMode="OnMainWindowClose"

in der Application.xaml setzen.

21.12.2018 - 08:34 Uhr

Wenn ich es richtig überblicke: nein, geht nicht. =)

18.12.2018 - 11:47 Uhr

Wo schaltest du denn die Visibility für die beiden RadMaskedTextInput? 🤔

Ich kann dein Problem nach dem Mittag gerne mal testen.

21.11.2018 - 08:27 Uhr

Funktioniert denn dein Workaround nicht mehr? 🤔

Ansonsten stimme ich den anderen 3 aber auch zu. =)

08.11.2018 - 08:54 Uhr

Schaue dir mal mit dem [Artikel] Debugger: Wie verwende ich den von Visual Studio? an, von welchem Typ csvData ist. =)

Der zweite C#-Code sollte so auch funktionieren, was kriegst du für einen Fehler?

07.11.2018 - 14:05 Uhr

Durch die 28k Zeilen des Build detailierten Outputs muss ich mich erstmal durchwühlen. Gibt es erfahrungsgemäß Schlagwörter, nach denen ich suchen könnte?

Das ist ganz einfach:

  • den Wert in den Options nochmal auf "Minimal" stellen

  • "Rebuild Solution" durchführen (damit ist sichergestellt, dass prinzipiell alles gebaut ist)

  • "Build Solution" durchführen
    -> dadurch siehst du im Output welche Projekt in welcher Reihenfolge gebaut werden
    -> für die weiteren Tests pickst du dir das Projekt an 1. Stelle heraus

  • den Wert in den Options auf "Detailed" stellen

  • für das Projekt, was du dir gemerkt hast, ein "Build" durchführen
    -> dadurch ist der Output erheblich kleiner
    -> und dann einfach oben anfangen zu lesen 😁

Genaue Stichpunkte gab es mMn nicht.
Es ist ein bissel Forschung, z.B. werden Projekte immer gebaut, wenn es Ressourcen gibt, die "Copy to Output directory: copy always" haben.

Edit sagt, ein mögliches Stichwort könnte "is not up to date" sein.

07.11.2018 - 11:04 Uhr

Wie schon von Th69 gesagt, normalerweise wird ohne Änderung kein neuer, kompletter Build gestartet.

Man kann über den Output herausfinden, warum ein Projekt gebaut wird. Dazu einfach temporär über Options - Projects and Solutions - Build and Run - MSBuild project build output verbosity die Ausgabe auf "Detailed" stellen - dann sollte man es sehen.

Wir hatten mal ein ähnliches Problem, bei dem die ganze Solution jedes Mal gebaut wurde, ohne Änderung am Code. Ich weiß nicht mehr genau woran es lag, kann aber sagen dass der Trigger dafür beim aller ersten Projekt der Solution zu finden war. Nachdem dieser (falsche) Trigger behoben wurde, wurde auch nur brav das gebaut, was sich geändert hat.

07.11.2018 - 08:38 Uhr

Hmm, okay. 😁
Ist mir tatsächlich bis vorgestern noch nie aufgefallen, vor allem die Schreibweise hat mich irritiert.

Aber gut zu wissen, dass es sowas gibt. 👍

06.11.2018 - 08:28 Uhr

Moin,

ich bin gestern über etwas gestolpert, zu dem ich im Netz zum Suchparamater "object initializer" leider nicht das Richtige finde.

Es geht um folgenden Code:

class Program
{
	static void Main(string[] args)
	{
		var firstClass = new FirstClass
		{
			SecondClass = 
			{
				MyString = "Test"
			}
		};
	}
}

class FirstClass
{
	public FirstClass()
	{
		SecondClass = new SecondClass(2);
	}

	public SecondClass SecondClass { get; set; }
}

class SecondClass
{
	public SecondClass(int myInt)
	{
		MyInt = myInt;
		MyString = "Zweite Klasse";
	}

	public string MyString { get; set; }
	public int MyInt { get; set; }
}

Und dabei um diese Stelle:

var firstClass = new FirstClass
{
	SecondClass = 
	{
		MyString = "Test"
	}
};

SecondClass wird in diesem Fall ja im Konstruktor der FirstClass instanziiert und danach wird noch der Wert "Test" zur Property MyString zugewiesen.
Wird die SecondClass im Konstruktor nicht instanziiert, knallt es natürlich.

Ich kenne natürlich die Objektinitialisierer, bei denen man z.B. sowas schreiben kann:

var firstClass = new FirstClass
{
	SecondClass = new SecondClass
	{
		MyString = "Test"
	}
};

Die obere Variante ist mir allerdings neu.

Hat jemand für diesen Syntaxzucker ein Schlagwort o.ä. bzw. kann jemand sagen wann das in C# implementiert wurde?

24.10.2018 - 10:12 Uhr

Es wäre ganz gut, wenn du z.B. auch die Verwendung der MarkupExtension hier nochmal zeigen würdest, also einfach alle notwendigen Infos. Keiner hat Lust sich die Infos aus einem anderen Beitrag rauszusuchen.

Bzgl. des Fehlers, evtl. kannst du das mal probieren:
[Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden

19.10.2018 - 11:12 Uhr

Der Converter muss Collapsed statt Hidden zurückgeben, für den Fall dass das Icon nicht angezeigt werden soll.

05.09.2018 - 20:30 Uhr

Ich glaube wir reden aneinander vorbei bzw. es kann auch sein, dass ich seinen Aufbau falsch verstehe. 😁

Er hat
a) eine View
b) ein ViewModel mit EditCommand
c) ein CustomControl
d) eine Basisklasse für das CustomControl mit DependencyProperty

Und die DP der Basisklasse soll standardmäßig an das EditCommand des ViewModel binden. Habe ich das soweit richtig verstanden?^^ 🤔

Das SetBinding würdest du im CustomControl bzw. in der Basisklasse machen?
Das knallt ja spätestens dann, wenn das CustomControl auf eine View gepackt wird, die kein "EditCommand" hat.

Klärt mich mal auf. 👅

05.09.2018 - 10:57 Uhr

Wozu muss das Control die View kennen, es ist die View 😉

Dessen wäre ich mir nicht so sicher, zumindest hört es sich für mich nicht so an. 🤔
Für mich klingt es so, als wenn er ein Custom Control (mit DependencyProperty) hat, was er auf irgendeine View legt.
Und das Custom Control wiederum hat jetzt eine Basisklasse.

04.09.2018 - 14:46 Uhr

Das geht nicht, du weißt doch gar nicht auf welcher View das Control liegt und ob es in dem ViewModel dann so ein Command gibt. 😉

04.09.2018 - 09:59 Uhr

Was genau hast du vor?

Dein ViewModel erbt von deiner BaseClass, in dem sich die DependencyProperty befindet, sehe ich das richtig?

31.08.2018 - 09:44 Uhr

Als Nachtrag zu LaTinos Beitrag: in einer externen Bibliothek sah ich so ein #if-Konstrukt mal mit SILVERLIGHT... gefühlt jede zweite Zeile. X(

31.08.2018 - 08:22 Uhr

Gib uns bitte mal ein paar mehr Informationen.

Wo bist du unterwegs? WPF? WinForms?
Was hast du schon versucht?

22.08.2018 - 14:32 Uhr

Das dürfte nicht gehen.

Was für einen Anwendungsfall hast du dafür?
Selbst wenn das Control standardmäßig ausgeblendet ist, möchte man doch beim Designen wissen wo es liegt, wenn es dann angezeigt wird, oder nicht? 🤔

13.08.2018 - 10:00 Uhr

Ging leider nicht, obwohl es im anderen bereits implementiert war. 👶

Dann liegt was anderes im Argen.

13.08.2018 - 09:01 Uhr

Wenn das ViewModel, von dem du erbst, bereits INotifyPropertyChanged implementiert, dann braucht das andere ViewModel es nicht mehr implementieren.

Evtl. solltest du dir die Grundlagen nochmal in einem minimalen Testprojekt anschauen.
Ich zumindest bin bei deinen ganzen ViewModel_Extraröhrchen_RadGridView_View_View_Model_PiPaPo ausgestiegen... 😉