Laden...
Avatar #avatar-3236.jpg
xxMUROxx myCSharp.de - Member
Student + Programmierer Südtirol/Italien Dabei seit 11.01.2010 1.552 Beiträge
Benutzerbeschreibung

Forenbeiträge von xxMUROxx Ingesamt 1.552 Beiträge

21.04.2012 - 17:29 Uhr

Das siehst du richtig.
Welchen Wert setzt du für labelNote_. Beinhaltet dieser Content ein Environment.NewLine? Dann ist es verständlich dass die Höhe anders ist. Andernfalls ist dies nicht möglich da das Label nicht TextWrapping unterstützt.

20.04.2012 - 20:09 Uhr

Hallo skelle,

dies liegt an deinen ColumDefinitions.
Das labelNote holt sich durch Auto was es benötigt, das labelNote_ bekommt nur noch den Rest. Dadurch ist zu schließen dass dein noteGrid von oben zu wenig Platz bekommt.

Sieh dir die Thematik Binding und WPF an.

Gruß,
Michael

19.04.2012 - 21:49 Uhr

Hallo banax,

ein jeder SQL Server benötigt einige Einstellungen damit er läuft. (z.B. Login-Berechtigungen, Backup Einstellungen,ect). Wenn du nichts einstellen willst benutz dementsprechend eine abgespeckte Version welche auch ohne Installation läuft. Dazu wäre SQLCE eine Möglichkeit. Wenn du evtl die SQL Server Funktionen nicht missen möchtest kannst du zu LocalDB ausweichen, welche nach einer Installation vollständig ohne Konfiguration zur Verfügung steht.

Gruß
Michael

12.04.2012 - 11:37 Uhr

Eine andere Möglichkeit ist die File Structure von ReSharper.

06.04.2012 - 19:58 Uhr

Hallo lionee,

nein es rundet nicht falsch, sondern nicht so wie angenommen. Du verstehtst unter Runden die einfache Runden-Regel, 1-4 wird abgerundet, 5-9 aufgerundet. Dies ist das Kaufmännische Runden, welches nicht verwendet wird. Es wird das Mathematische Runden angewendet welches bis auf folgende Regel identisch dem kaufmännischen ist:
Ist die erste abgeschnittene Zahl eine 5, wird immer zur nächsten geraden Zahl gerundet wird.
Also wird
1.15 = 1,2
1.25 = 1,2
Siehe u.a. Math.Round rundet anders als erwartet

Gruß,
Michael

06.04.2012 - 12:43 Uhr

Ja, so sollte es doch funktionieren.

Bitte verschiebe den MySqlCommand in ein using-Konstruct.


using(MySqlCommand mySqlCommand = new MySqlCommand(selectString, mySqlConnection))
{
    //hier damit arbeiten
}

Dann werden die Resourcen danach auch schön freigegeben.

06.04.2012 - 12:36 Uhr

Hast du meinen Post gelesen? Dort steht u.a. auch die Lösung:
Zuweisung ist nicht Vergleich

06.04.2012 - 12:32 Uhr

Hallo Akkon,

du weißt in der IF etwas zu. Was du möchtest ist ein Vergleich.
Bei Compilerfehler siehe: [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)

Gruß
MIchael

02.04.2012 - 19:43 Uhr

Versuch mal folgende Installation: Dabei wählst du die x64-Version aus:
Microsoft Access Database Engine 2010 Redistributable

02.04.2012 - 19:38 Uhr

Hallo budi1602,

kann sein dass man es bei der Express nicht umstellen kann.
Jedoch kannst du die Solution File manuell editieren, und überall wo AnyCpu steht, dies mit x86 ersetzten.

Gruß
Michael

28.03.2012 - 20:49 Uhr

Gehts auch ohne Instanznamen beim SQLServer?
Bzw gehts lokal bei der Standardinstanz?

28.03.2012 - 20:22 Uhr

Der ConnectionString besagt ja im Normalfall "Data Source=COMPUTER\INSTANZ;UserID

Jein, auch dort kann der Instanzname weggelassen werden.
Dass es in deinem Fall nicht funktioniert ist wie folgt:
SQL Server Express erstellt SQLEXPRESS als Instanzname wenn nicht anders angegeben.
SQL Server erstellt den Standardinstanznamen MSSQLSERVER wenn nicht anders angegeben

Wenn jedoch zur Standardinstanz verbunden werden möchte, dann DARF kein Name angegeben werden, da die Standardinstanz bei der Verbindung leer sein muss.

Die Standardinstanz hat keinen Namen und wird mit dem Computernamen angezeigt.

Dies ist dann auch der Grund wieso es bei SQLEXPRESS mit dem Instanznamen funktioniert, bei SQLSERVER nicht

Da wird bei der Expressversion COMPUTER\INSTANZ und bei der normalen nur COMPUTER\ angezeigt.

Wie MSDN sagt, ist dies das korrekte Verhalten.

28.03.2012 - 20:10 Uhr

Hallo Karsten Böhme,

dein Style nicht für den DeviceButton. Warum ein Compilerfehler auftritt, sagt dir auch genau der Compilerfehler. Evtl fehlt die Namespacedeclaration. [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)
Dass du auf CornerRadius nicht zugreifen kannst liegt daran dass das Template Button und nicht DeviceButton als Target hat. Noch dazu ist CornerRadius kein DependencyProperty. Diese sind für Binding zwingend notwendig.
Weiteres schlage ich vor, dass du dir die Tutorials von CustomControls ansiehst. Du machst in DeviceButton so ziemlich alles falsch.

Gruß
Michael

28.03.2012 - 20:02 Uhr

Hallo Steffen2012,

ich hatte noch nie welche Probleme, egal wie die Instanzen genannt sind.
Wenn nur eine Instanz läuft kann der Instanzname im SSMS weggelassen werden.

Gruß
Michael

14.03.2012 - 21:44 Uhr

da ich mit den ganzen klassen noch nie gearbeitet habe woltte ich mich dort auch nicht einarbeiten

Warum hast du dann sprechen gelernt? Dies hast du ja Anfangs auch nicht gekonnt. Warum solltest du dich dann darin auch einarbeiten (scnr)

Nein, mal im Ernst. Du solltest dir auch neue Sachen angucken. Wenn wir dir diese vorschlagen, wollen wir dir Tipps geben wie du es einfacher machen kannst und solltest.

Sieh dir mal die Komplexität deines Codes an und dann die Lösung meines Vorschlages mit TimeSpan:


TimeSpan s1 = new TimeSpan(stundejetzt,minutejetzt,0);
TimeSpan s2 = new TimeSpan(stunde, minute)
TimeSpan zeitSpanne = s1 - s2;
//Das wars.

if (stundespanne<10)  
            {  
                textstunde = "0" + stundespanne.ToString();  
            }  

Benutze String Format:

textStunde = stundenSpanne.ToString("#0");

bzw:

zeitSpanne.ToString("hh:mm.ss");

String Format for DateTime

14.03.2012 - 20:29 Uhr

Dass das nicht klappt ist klar: du überschreibs je den Studenwert mit dem Minutenwert.


TimeSpan spannow = TimeSpan.FromHours(nowstunde); 
//spannow = 20:00:00
spannow = TimeSpan.FromMinutes(nowminute);
//spannow = 00:28:00
14.03.2012 - 19:55 Uhr

Hallo Taladan,

ich habe mir dieses Buch gekauft und bin sehr zufrieden damit: Windows Presentation Foundation: Das umfassende Handbuch

Gruß,
Michael

14.03.2012 - 19:51 Uhr

Hallo Normal9494,

sieh dir mal die Klassen TimeSpan und DateTime an.

Gruß
Michael

09.03.2012 - 15:38 Uhr

Hallo eddyp,

Das Problem: Wie kann man das einfacher (event. in Schleife) gestalten:

So überhaupt nicht, denn die Elemente werden direkt über den Variablennamen angesprochen. Siehe bitte: [FAQ] Variablennamen zur Laufzeit zusammensetzen

Gruß
Michael

09.03.2012 - 11:06 Uhr

Es gibt auch Telnet. Setzt aber einiges an Grundkenntnissen voraus.
Hätte auch den Link fürs andere Tool parat, aber dieses findest du sicherlich selbst in den Sysinternaltools. Ansonsten wird auch meinerseits dein Kollegenstreik nicht unterstützt.

Gruß
Michael

09.03.2012 - 10:54 Uhr

Hallo Ahrimaan,
Kann sein, dass wen du es so machst das Style leer ist, da kein Inhalt definiert ist, du weißt nur die Resourcen zu, nicht aber wie es aussehen sollte.

Zitat von: Style.Resrouces
Gets or sets the collection of resources that can be used within the scope of this style.

versuch mal wie folgt:


<c:DataGrid [...] ColumnHeaderStyle="{StaticResource EmployeeGridColumnHeader}"/>

Gruß
Michael

06.03.2012 - 15:58 Uhr

Hallo steffen_dec,

genau, wenn man es ganz genau nimmt sollte man es so machen. Sollte man annehmen dass jenes in den runden Klammern keinen Fehler wirft, so kann man dem das using umschließenden try-Block entfernen.
Denn intern schreib der Compiler

using(StreamWriter sw = new StreamWriter(outputFile))
{
    sw.Write("BLABLA");
}

in


{
    StreamWriter sw = new StreamWriter(outputFile)
    try
    {
        sw.Write("BLABLA");
    }
    finally
    {
        if(sw != null)
            ((IDisposable)sw).Dispose();
    }
}

Dementsprechend ist, wie du korrekt angenommen hast nicht sichergestellt, dass das Erstellen des StreamWriter Objektes fehlerfrei funktioniert.

Gruß,
Michael

05.03.2012 - 16:20 Uhr

Ja so in etwa. Evtl rechts von der Maske ein Ausrufezeichen mit einem ToolTip welches den Fehler angibt. Denn in Prinzip merkt sich der Benutzer welche Fehlermeldungen er gesehen hat. Sieht er dann das Aufrufezeichen weiß er dann auch genau auf was er achten sollte.

05.03.2012 - 15:30 Uhr

Hallo,

direkt die e-Mail Adresse ändern würde ich nicht. Es ist nicht gerade benutzerfreundlich dem Benutzer mitzuteilen dass die e-mail Adresse geändert wurde und er nun nachgucken darf was sich geändert hat.
Ich würde wie m.knigge sagte den User auf den Fehler aufmerksam machen, oder diesen ohne störende Fehler-MessageBox irgendwie in der Maske optisch markieren.

Gruß
Michael

05.03.2012 - 10:05 Uhr

Falls jemand eine noch einfachere Lösung weiß, bitte posten.

Diese postete ich bereits.

Weiters löst folgendes nicht das Problem, da wiederum Fehler geworfen werden:

try
{
    output.Close();
}
catch (IOException e)
{
    output.Close(); // hier
}
05.03.2012 - 09:53 Uhr

Hallo nfb503,

wie du siehst wirft dir Stream.Close den Fehler. Dieser befindet sich im Finally-Block, welcher nicht Fehlerabgeprüft ist. Durch debuggen hättest du auch herausfinden müssen wo der Fehler geworfen wird und warum.
Um dem entgegen zu wirken, empfehle ich dir ein using Konstruct zu erstellen und es nicht manuell mit Try-Catch zu versuchen.

Gruß,
Michael

03.03.2012 - 20:33 Uhr

Hallo,

Gibt es irgendwo eine gute Dokumentation mit Erklärungen für Leute die noch nie mit Linq gearbeitet haben?

Ja das gibs:
101 LINQ Samples

Gruß,
Michael

03.03.2012 - 14:20 Uhr

Der Web-Installer will [...] Laufwerk C.

Achso, beim Web-Installer weiß ich es nicht. Ich hab VS mit der ISO installiert.

03.03.2012 - 14:00 Uhr

Hallo der-schlinge,

habe Win8 nur 10GB Speicher gegeben, desswegen war ich ber der Installation des VS11 auch im selben Problem. Aber es ist kein Problem den Installatinspfad zu ändern und es hat auh funktioniert. Desswegen, nein, er benötigt nicht das Laufwerk C.

Gruß
Michael

02.03.2012 - 10:21 Uhr

Hallo youssef,

wenn du der Entwickler bist weißt du auch wie die Tabellen miteinander verknüpft sind. Dementsprechend musst du dann auch bei der Tabellen zum Löschen anfangen auf welche keine Daten verweisen. Dann arbeitest du dich nach oben durch.
Oder du löscht alle FK und Truncatest alle Tabellen und erstellst dann die FK neu. So macht es das DatabaseProject in Visual Studio. Ob dies Oracle unterstützt weiß ich nicht.

Was der Error 3197 bedeutet siehst du am Besten in der Oracle Dokumentation.

Gruß
Michael

29.02.2012 - 11:49 Uhr

Wie viele Einträge gibt es pro Erstellungsdatum? Ich scheitere daran, dass ich die Uhrzeit nicht aus dem Datum bekomme.

Dies sind SQL-Grundkenntnisse. Stichwort: GROUP BY, DATEPART, CAST(erstelldatum AS date)

Gruß
Michael

27.02.2012 - 18:09 Uhr

Hallo av1406,

und das ganze macht sowas ähnliches wie das kartesische produkt in der mathematik

Nein macht es nicht, da du die Schleife nach dem ersten Durchlauf verlässt. Dadurch hat talla Recht.

Gruß
Michael

26.02.2012 - 17:25 Uhr

Hallo KleinerHacker,

A<Object> cl = null;

cl muss A<string> für new B() und A<int> für new C() sein.

Für Compilerfehler siehe immer [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen) da diese immer eindeutig sind.

Weiteres hat Coder007 das richtige Stichwort geanannt.

Gruß
Michael

24.02.2012 - 21:48 Uhr

Hallo Christoph1968,

wie DerKleineTomy richtig andeutet, kann das Objekt, welches du anotherObject zuweist, nach jedem Schleifendurchlauf zerstört werden. Ob es genau dann passiert, ist eine Sache des GC. Der wird es früher oder später zerstören,_ meistens später_, oft erst, wenn der Speicher anderweitig benötigt wird.

Aber bitte beachte bei solchen Fragen immer [Hinweis] Wie poste ich richtig? 1.1 und 1.1.1 da vor allem diese Sachen in der Dokumentation sehr ausfürhlich mit Beispielen beschrieben sind.

Gruß
Michael

24.02.2012 - 14:52 Uhr

Hallo NinjaCouncil,

ich denke das wirst du sicherlich selbst herausfinden wenn du im Open Book stöberst. 😁
Aus meiner Erfahrung muss ich sagen dass es anfangs sehr angenehm war auf das Online Book zurückzugreifen.

Gruß,
Michael

24.02.2012 - 10:01 Uhr

Hmm, mir persönlich ist die UI noch ein wenig zu grau.

Es gibt zwei Theme, ein graues und ein schwarzes (so wie bei Expression Blend)

Also mir gefällt es z.Z. gut. Ich finde auch wunderbar, dass die Menüleisten reduziert wurden, denn die benötigt man eh so gut wie nie 😁 Ich persönlich verwende so gut wie immer die Tastenkürzel.

Gruß
Michael

24.02.2012 - 09:50 Uhr

Hallo fluxy,

ich verwende das Cinch MVVM Frameworkt, dort gibt es auch diese Funktionalität welche bereits implementiert wurde. Noch dazu werden Wrapper erstellt welche auch validiert werden können und der Editierung ausgeschlossen werden können.
Jedoch müssen auch alle diese Wrapper, sprich jede Property des zu editierenden Objectes seperat erstellt werden, geladen werden und zurückgeladen werden. Ich habe dies so gelöst, dass isch das Model in ein EditableViewModel lade, welches exact dieselben Eigenschaften wie das Model, bzw ViewModel hat. Um dies nicht bei jeder Klasse selbst schreiben zu müssen kann man sich einmalig ein T4-Template anlegen, welche die ganzen Wrapper Properties schreibt. Dazu setzt man sich mal einen Tag zum PC, um sich das T4-Template zu tippen und dann muss man in Zukunft falls mal Properties dazu oder wegkommen sich nicht mehr darum kümmern und Angst haben dass man mal die Eine oder Andere vergisst zu löschen oder hinzuzufügen.

Gruß
Michael

24.02.2012 - 09:42 Uhr

Hallo DerPapenberg,

bei SolidColorBrush machst du es richtig, warum in der Ellipse nicht mehr?

Gruß
Michael

23.02.2012 - 21:09 Uhr

Sorry, du wolltest in der ComboBox suchen. Hab falsch gelesen, desswegen musst du Items mit einer Schleife durchlaufen.
So in der Art:


foreach(var item in comboBox.Items)
{
    if(item == textBox.Text)
    {
         //TU WAS
    }
}

Anderweitig kannst du mit dem Debugger mal einen Brakepoint machen um zu sehen welche Paramter dir der Methode übergeben werden. Damit du siehst was kommt und was drinnen ist.

Bitte beachte [Hinweis] Wie poste ich richtig?

23.02.2012 - 20:59 Uhr

Hallo Thunder,

in der MSDN Doku steht sowas drinnen.
Das was du suchst nennt sich ComboBox.SelectedItem, und vergleichen willst du mit dem Text der TextBox, also

((TextBox)sender).Text

Gruß
Michael

23.02.2012 - 20:51 Uhr

Hallo W077Y,

zusätzlich zum gesagten vom MrSparkle welchem zuzustimmen ist müsste deine Property nicht Center sondern cont_center heißen.

Gruß
Michael

23.02.2012 - 20:39 Uhr

Hallo marioshasta,

wobei es im englischen noch einfacherer ist Zahlen als Buchstaben umzuschreiben, da die Zahlen ausgesprochen werden wie sie geschrieben werden. In Deutsch ist dies jedoch anders:
74: EN: Seventy-four
DE: Vierundsiebzig
ich denke dies ist sicher die größte Herausforderung.

Gerne helfen wir bei Fragen weiter und würden uns freuen wenn du das Ergebnis wenn du willst uns allen hier zur Verfügung stellst.

Gruß
Michael

21.02.2012 - 14:51 Uhr

Hallo Second Sun,

verwende erfolgreich DevZesz WPF Data Virtualization

Gruß
Michael

20.02.2012 - 08:38 Uhr

Hallo liberado,

ich denke dass es dir an Grundkenntnissen von WPF und Binding fehlt. Jedes fehlgeschlagene Binding wird dir im Output Window angezeigt. Hier ein Beispiel:

class MainViewModel
{
    IEnumerable<MyClass> List;
    string Value
}
class MyClass
{
    Speed Speed;
}

<TextBox Text="{Binding List}"/> <!--Hier wird an MainViewModel gebunden-->
<GridView>
    <GridView.Colums>
         <WasAuchImmerColumn Content="{Binding Speed}"/> <!--Hier wird an MyClass gebunden-->
         <WasAuchImmerColumn Content="{Binding Value}"/> <!--FEHLER, Value gibt es in MyClass nicht-->
    <GridView.Columns>
</GridView>

17.02.2012 - 11:42 Uhr

Kann ich dann im converter direkt auf das viewmodel zugreifen ?

Nein, aber du kannst alles notwendige mitgeben wenn du es z.b. so machst:


<RadioButton IsChecked="{Binding Path=EnumPropertyImVM, Converter={StaticResource TestConverter}}" ConverterParameter="{x:Static XMLSNamespace:Speed.Slow}"/>
<RadioButton IsChecked="{Binding Path=EnumPropertyImVM, Converter={StaticResource TestConverter}}" ConverterParameter="{x:Static XMLSNamespace:Speed.Normal}"/>
<RadioButton IsChecked="{Binding Path=EnumPropertyImVM, Converter={StaticResource TestConverter}}" ConverterParameter="{x:Static XMLSNamespace:Speed.Fast}"/>

dementsprechend hast du dann im IValueConverter in der Convert Methode als value dein EnumPropertyImVM und als parameter deinen ConverterParameter. Dementsprechen kannst du dann den Wert setzten.
Da du durch ein setzen des Wertes in der GUI, die EnumPropertyImVM direkt beinflusst, sollte das ConvertBack auch implementiert sein.
Wie das mit den Convertern so funktioniert siehst du unter IValueConverter

17.02.2012 - 11:32 Uhr

Ok, das stimmt, da hast du recht.
Generell würde ich jedoch alles im ViewModel lösen, denn dieses wendest du auch an.
Du hast dann ein ViewModel welches die ItemListe beinhaltet und dann diese Liste beihnaltet wiederum ViewModels welche die entsprechenden eigenschaften wie IsSchnell, IsLangsam, IsNormal anbietet, oder deren Werte wie bereits genannt durch einen Converter richtig Convertiert werden. Z.b. kannst du anstelle von 3 Eigenschaften IsSchnell, IsLangsam, IsNormal ein Enum erstellen welches die 3 Werte Schnell, Langsam, Normal beinhaltet. Durch den Converter ist dann je nach Wert der entsprechende RadioButton ausgewählt oder nicht.

17.02.2012 - 09:26 Uhr

Das Problem bei den RadioButtons ist, dass sie logisch gruppiert werden je nach dem in welchem Content sie liegen. Sprich, wenn ich 4 Radiobuttons habe die wie folgt liegen:

<StackPanel>
    <RadioButton Name="RB1"/>
    <StackPanel>
        <RadioButton Name="RB2"/>
        <RadioButton Name="RB3"/>
    </StackPanel>
    <StackPanel>
        <RadioButton Name="RB4"/>
    </StackPanel>
</StackPanel>

so lässt sich in dieser Situation RB1 und (RB2 oder RB3) und RB4 auswählen.
Wollte ich jetzt dass zwischen RB4 und RB1 eine Beziehung bestünde, und dadurch nur eines von beiden auswählbar sei, müsste ich diesen beiden, da sie nicht in derselben Content liegen, explizit den Gruppennamen über GroupName geben. Welcher dieser nun ist, ist komplett egal, wichtig ist nur dass er bei beiden derselbe ist.

Dasselbe ist bei dem GridView.

16.02.2012 - 20:30 Uhr

Du kannst entweder,


<RadioButton IsChecked="{Binding Path=IsRB1}"/>
<RadioButton IsChecked="{Binding Path=IsRB2}"/>
<RadioButton IsChecked="{Binding Path=IsRB3}"/>

und dann die IsRBX in deinem ViewModel hinterlegen, sodass immer nur eine Property dieser 3 true ist, oder du erstellst einen Converter, mit welchem du dann machst:


<RadioButton IsChecked="{Binding Path=IsRB1, Converter={StaticResource TestConverter}" ConverterParameter="langsam"/>
<RadioButton IsChecked="{Binding Path=IsRB2, Converter={StaticResource TestConverter}" ConverterParameter="normal"/>
<RadioButton IsChecked="{Binding Path=IsRB3, Converter={StaticResource TestConverter}" ConverterParameter="schnell"/>

und dementsprechen im Converter auf den ConverterParameter reagierst,
oder du erstellst eine, was m.E. das einfachste und logischste wäre, eine ComboBox.

Dies sind alles Anstöße welche dir weiterhelfen sollten das Problem eigenständig zu lösen.

16.02.2012 - 20:16 Uhr

Hallo liberado,

wo ligt das Problem? RadioButtons lassen sich in derselben Gruppe, sprich mit demselben GroupName generell nur 1x auswählen. Welcher Wert nun an IsChecked in MVVM gebunden wird, entscheidest du schlussendlich dann im ViewModel, bzw im Converter.

Gruß
Michael