Laden...

Forenbeiträge von ProGamer Ingesamt 660 Beiträge

19.09.2011 - 14:55 Uhr

Hallo,

was du versuchen könntest wäre, den Focus über die API SetFocus zu setzen.


        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode.Equals(Keys.F12))
            {
                var tmpKontroller = new Kontroller_1();
                mainPanel.Controls.Add( tmpKontroller );
                SetFocus( tmpKontroller.YourTextBoxName.Handle );
            }
        }

vllt hat jemand anders eine elegantere Lösung

16.09.2011 - 12:38 Uhr

Danke für den Tipp,
Es sieht schon fast so aus wie bei wpf jedoch nicht ganz
naja muss dann wohl mit Margin und padding etwas rumspielen -.-

aber auf sowas einfaches hätte ich auch von selbst kommen müssen...

16.09.2011 - 10:50 Uhr

Hallo zusammen,

Ich habe in einer xml-Datei zwei DataTemplates definiert. Das eine Template bindet das andere ein

Hier mal ein Simples beispiel:


    <DataTemplate x:Key="BookTemplate">
        <Grid Background="Red">
            <Grid.RowDefinitions>
                <RowDefinition Height="30" />
                <RowDefinition Height="30" />
                <RowDefinition Height="30" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>

            <TextBlock Text="Titel: "
                       Grid.Column="0" Grid.Row="0" />
            <TextBox Text="{Binding Titel, Mode=TwoWay}"
                     Grid.Column="1"
                     Grid.Row="0" />

            <TextBlock Text="Erscheinungsjahr: "
                       Grid.Column="0"
                       Grid.Row="1" />
            <TextBox Text="{Binding Erscheinungsjahr, Mode=TwoWay}"
                     Grid.Column="1"
                     Grid.Row="1" />

            <TextBlock Text="Autor: "
                       Grid.Column="0"
                       Grid.Row="2" />
            <TextBox Text="{Binding Autor, Mode=TwoWay}"
                     Grid.Column="1"
                     Grid.Row="2" />

            <ContentControl Content="{Binding}"
                            ContentTemplate="{StaticResource ISBNTemplate}" 
                            Grid.Column="0"
                            Grid.ColumnSpan="2"
                            Grid.Row="3" />
        </Grid>

    </DataTemplate>
    
    <DataTemplate x:Key="ISBNTemplate">
        <Grid Background="DarkRed">
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>

            <TextBlock Text="ISBN: "
                       Grid.Column="0" />
            <TextBox Text="{Binding ISBN}"
                     Grid.Column="1" />
        </Grid>
    </DataTemplate>

In der xaml habe ich dann folgendes


    <Grid>
        <ContentControl Content="{Binding lstBooks[0]}"
                        ContentTemplate="{StaticResource BookTemplate}" />
    </Grid>

In Silverlight sieht die Darstellung anders aus als in WPF (siehe Bild)
meine Frage nun: Was muss ich in Silverlight anpassen damit das so aussieht wie in WPF?

p.s. Der Code dient nur zur veranschaulichung!

15.09.2011 - 15:45 Uhr

Gar keines 😉

was du machen könntest wäre von TabControl zu erben und die WindowMessages abzufangen. Dazu müsstest du die die Methode WndProc überschreiben und auf das WM_HSCROLL reagieren

15.09.2011 - 15:21 Uhr

auf einen noch nicht berücksichtigten Punkt ist meine Freundin gekommen: Keine Geschwindigkeitsüberschreitungen, keine Radarfallen, kein Falschparken, keine Politessen, keine Flensburger Punkte, überhaupt keine Verkehrssünder(kartei).

Mal angenommen es würde wirklich keine Verkehrssünder mehr geben, was wäre dann mit den Einnahmen für den Staat? Ohne Verkehrssünder = Kein Geld = ...?

Mal angenommen es würden auch keine Verkehrunfälle mehr passieren, was würde dann mit den ganzen versicherungsunternehmen passieren bzw. deren mitarbeitern? Wenn keiner mehr einen Unfall baut, braucht keiner mehr auch eine Versicherung...

Müssten dann noch Straßen ausgebaut werden damit der Verkehr "flüssiger" wird?

p.s. Der Inhalt dieses Beitrages ist MEINER fantasie entsprungen!

13.09.2011 - 09:32 Uhr

Zu meinem Punkt, dass Personen, die per Haftbefehl gesucht werden, automatisch bei der Polizei vorgefahren werden könnten, sobald sie in ein autonomes Fahrzeug steigen,...

Das erinnert mich an den Film Minority Report. Da saß der Hauptdarsteller in solch
einem Fahrzeug und plötzlich wurde seine Route geändert, weil er gesucht wurde...

mMn. ist es nur eine Frage der Zeit bis diese Fahrzeuge kommen werden.
Die Frage die ich mir dann Stelle ist, ob man dann immer noch einen Führerschein
benötigt. Wenn man noch selbst mit dem Auto fahren kann dann ist es ein muss, aber
was wenn das Fahren komplett vom Computer übenommen wird und der Mensch nicht
mehr eingreifen kann?

Mal sehen was auf uns zukommen wird...

09.09.2011 - 12:12 Uhr

Hallo,

mit EventToCommand mit MVVM - Silverlight kannst du das Loaded
Event eines Controls (oder auch ir ein anderes Event) in einen
Command umbiegen lassen. Es ist primär für Silverlight aber wenn du das Blend SDK für
WPF verwendest dürfte das auch klappen

Falls du schon was fertiges suchst kannste auch auf das MVVMLight Toolkit zurückgreifen.

07.09.2011 - 16:03 Uhr

auf der Arbeit habe ich das Glück/Pech mich mit Silverlight beschäftigen zu dürfen/müssen

Privat nutze ich WPF

02.09.2011 - 12:25 Uhr

Wenn die Methode XFunktion heisst dann kannst du das ALIAS weglassen. Das müsstest du nur dann angeben wenn die Deklaration sich von dem eigentlichen Methoden-Namen unterscheidet.

Wieso Verwendest du kein using? (Verweis auf die dll nicht vergessen)
Den DllImport benötigst du eigt. nur für API-Calls

Edit: habe den Edit zu spät gesehen... Ignore my Answer

01.09.2011 - 09:33 Uhr

du kannst ja die Methode als static deklarieren. dann brauchst du nur noch folgenden Aufruf:


Hilfsmethoden.tue_etwas();

30.08.2011 - 16:25 Uhr

Wieso passt du nicht einfach den Style des TimePickers an?
jedenfalls kannst du mal hier einen Blick rein riskieren

WPFDeveloperTools
MaskedTextBox

30.08.2011 - 11:51 Uhr

Grade eben diesen wunderschönen fehler erhalten XD

22.08.2011 - 10:34 Uhr

Wo ist das Problem den string mittels Double.TryParse umzuwandeln? O.o

05.08.2011 - 08:14 Uhr

Also wenn es wirklich nur darum geht einen EventHandler pro Control/was auch immer
zu registrieren, dann greif zu einer Dictionary<Control, EventHandler>. Wenn du ein
Event registrierst dann pack es in die Dictionary (prüfe vorher ob es schon vorhanden
ist) und wenn der Wert sich ändert dann deregistriere den EventHandler und schmeiss
es aus der Dictionary. oder nimm nur eine List<Control>.

04.08.2011 - 10:54 Uhr

hallo,

vllt hilft dir folgender Beitrag weiter
Kann Silverlight nicht mehr vernünftig debuggen

04.08.2011 - 10:49 Uhr

Diese MessageBox-Klasse ist das ein UserControl oder WindFrom? in beiden fällen
kannst du das LostFocus-Event abonnieren und den Fokus dann wieder auf die MessageBox setzen.

vllt wäre es auch eine Option das Parent-Fenster (also das Fenster über dem die MessageBox ist) zu Disablen (Enabled = false) und beim schließen das wieder zurückzusetzen

04.08.2011 - 09:50 Uhr

ok vllt falsch ausgedrückt.

verwende regsvr32 und registriere alle dlls die du verwendest und die nicht zum .Net-Framework gehören (incl. OCX-Dateien)

04.08.2011 - 09:37 Uhr

ahh das sagt doch einiges.

du scheinst eine Klasse zu verwenden die wohl nicht registriert ist.
ermittel diese dll und rufe in cmd folgendes auf:

regsvr32 <path & filename of dll or ocx>

04.08.2011 - 09:03 Uhr

verwendest du WPF? wenn ja dann kannst du dir in den UnhandledException den Fehler in eine Textdatei schreiben.

Oder, falls winForms, bei dir einen TryCatch-Block in die Program.cs ein (im Constructor welches die Application.Run() einschließt) und lasse dir den Fehler in einer Datei ausgeben.

03.08.2011 - 11:40 Uhr

Ich würde mal vermuten dass im Cache des IE noch die alte Version vorhanden ist. versucht mal den Cache zu leeren und die Seite dann neu aufzurufen

02.08.2011 - 14:30 Uhr

Ich würde es jetzt so machen, dass ich eine Klasse vom TabItem ableite und dann selber ein Spezielles TabItem bastle welches meine Anforderungen erfüllt.

hmm und was soll dir da dynamic bringen?

dynamic eignet sich dazu um z. B. mit assemblies zu arbeiten die in zwei versionen vorliegen (x86/x64).
Dein vorhaben hingegen lässt sich mittels Vererbung lösen

02.08.2011 - 11:26 Uhr

Wie wäre es mit folgendem Link:
Play Video in WPF

02.08.2011 - 11:16 Uhr

Hast du Win7? wenn ja dann mach ein Rechtsklick auf die dll -> Eigenschaften und dann
ziemlich weit unten (register Allgemein) auf den Button "Zulassen" Klicken.
Die Dlls vorher aus dem projekt schmeissen und nach der Aktion neu referenzieren

02.08.2011 - 10:10 Uhr

Ich kann das Projekt nicht als Referenz setzen, da es bereits umgekehrt abhängig ist.

Dann stimmt was mit deiner Struktur nicht!
Um dies zu lösen würde ich dir Interfaces empfehlen, oder die Funktionen die beide
Klassen benötigen in eine neue Klasse auslagern und diese Referenzieren

29.07.2011 - 15:49 Uhr

Classic

Keine ahnung wo die meldung herkam
nur nach dem start angezeigt bekommen

26.07.2011 - 16:29 Uhr

Dann kannst du ja mal versuchen das SizeChanged-Event auf ein Command umzulenken.
hier mal das Snippet dazu: EventToCommand mit MVVM - Silverlight
da steht zwar Silverlight aber das benötigte sdk gibts auch für WPF

26.07.2011 - 16:21 Uhr

bei dem Control handel es sich um ein DataGrid mit ValidationOnException (ein etwas ausfürhlicher Beitrag auf Codeproject)

26.07.2011 - 15:54 Uhr

Gibt es auch eine Möglichkeit das Ganze Item zu markieren und nicht nur den TextBlock?

Dann weiss der User dass ir eine TextBox einen Fehlerhaften Eintrag hat, aber nicht welche genau...
Mach es dem User leichter fehler zu finden. Hier mal ein Bild um es zu verdeutlichen:

verzeiht wenn ich das bild nicht hochlade aber es ist bei msdn gehostet.

26.07.2011 - 15:05 Uhr

Gegenfrage: Warum muss dein ViewModel Positionsdaten berechnen?

ich würde jetzt behaupten um diese in eine Config datei zu speichern und beim nächsten Start wieder herzustellen.

Hast du schon versucht mal zwei Properties im VM zu definieren (Typ int) und diese dann an Window.ActualHeight + Window.ActualWidth zu binden? (Natürlich mit Mode=TwoWay).

22.07.2011 - 10:50 Uhr


>

Besonders gefallen mir LOLCODE und BrainFuck XD

22.07.2011 - 08:38 Uhr

sry mein Fehler. FormShown gibt es nur WinForms Anwendungen.
das Event dass ich meinte heisst Loaded in WPF


public MainWindow()
        {
            InitializeComponent();

            this.Loaded += ( s, e ) =>
                {
                    //MyMethodToChangeColumnSettings
                };
        }

21.07.2011 - 14:56 Uhr

Einfach so ins blaue geraten
Versuche mal:
+1 weglassen
das Komma durch einen Punkt ersetzen
und probiere es mal mit TryParse (die überladung mit zwei parametern) und guck dir an was da raus kommt

Das funktioniert bei mir


DateTime tmp;
                DateTime.TryParse( "2011-01-01 11:01:41.413", out tmp );

21.07.2011 - 13:10 Uhr

Du kannst den absturz nur dann verhindern wenn du in jedem Thread einen Try-Catch-Block hast. Vielleicht ist die Backgroundworker-Klasse eine alternative für dich

19.07.2011 - 15:32 Uhr

Ich denke mal du versuchst die Eigenschaften im FormLoad zu setzen.

Das Problem ist zu diesem Zeitpunkt dass es noch keine Spalten gibt, weil diese nicht dargestellt werden müssen. Erst beim Darstellen werden die Spalten generiert.

Versuch das FormShown-Event stattdessen

19.07.2011 - 12:21 Uhr

was steht denn im Output-Fenster? achte da mal auf BindingExpression-Fehler

19.07.2011 - 11:47 Uhr

Meine erste Idee wäre jetzt die ganzen Controls in eine Liste (List<UIElement>) zu packen und dann mittels Foreach die Eigenschaft zu setzen bzw. dessen Wert. Müsstest dann nur noch die Controls der Liste hinzufügen.

oder handelt es sich hierbei um MVVM?
Wenn ja dann kannst du im VM eine Eigenschaft (Visible : Visibility) definieren und diese dann die Eigenschaft der Controls binden.

19.07.2011 - 10:10 Uhr

Hallo,

Auf CodeProject gibt es einen ListViewDragDropManager

15.07.2011 - 07:52 Uhr

Guten Morgen,

Die SQLite.Interop.dll Assembly muss in das Root-Verzeichnis des Projektes, welches die System.Data.SQLite.dll Assembly nutzt. Die SQLite.Interop.dll Assembly stellst du unter den Eigenschaften auf "Copy Always"

hier mal das Original

Zitat von: System.Data.SQLite: View Ticket: Unable to load DLL SQLite.Interop.DLL ...
anonymous added on 2011-04-27 20:18:17 UTC:
Kribo

So conclusion .. When one makes a dotNet appi using embedded SQLite. One must add an "existing item" to your project. And this directly uder the root MySolution MyProject SQLite.Interop.DLL

And one must ulter the property of the item "SQLite.Interop.DLL" Copy to Output Directory -> Copy always

And "System.Data.SQLite.dll" one adds as a reference to ones project..

After doing so your appi should run..

Kind regards

Kribo

Und wenn du eine x86 bzw. x64 Anwendung erstellen willst so guck dir die Links von gfoidl näher an

08.07.2011 - 08:22 Uhr

Ich werde hier die Lösung meiner Aufgabe zeigen [SCNR]da es für die meisten hier zu schwer zu sein scheint[/SCNR] (Bitte nicht ernst nehmen ^^).

Der Code ist nicht Optimal aber dafür einige Jahre alt...


public class Feiertage
    {

        public const int GruenDonnerstag = -3;
        public const int KarFreitag = -2;
        public const int OsterMontag = 1;
        public const int ChristiHimmelfahrt = 39;
        public const int PfingstSonntag = 49;
        public const int PfingstMontag = 50;
        public const int Fronleichnam = 60;

        public string GetOsterSonntag(int Jahr)
        {
            float Saekularzahl = 0;
            float Mondschaltung = 0;
            float Sonnenschaltung = 0;
            float Mondparameter = 0;
            float ErsterVollmond = 0;
            float KorrekturGroeße = 0;
            float Ostergrenze = 0;
            float ErsterSonntag = 0;
            float Entfernung = 0;
            float Sonntag = 0;
            DateTime Date;
                        
            Saekularzahl = Jahr / 100;
            Mondschaltung = 15 + (3 * Saekularzahl + 3) / 4 - (8 * Saekularzahl + 13) / 25;
            Sonnenschaltung = 2 - (3 * Saekularzahl + 3) / 4;
            Mondparameter = Jahr % 19;
            ErsterVollmond = (19 * Mondparameter + Mondschaltung) % 30;
            KorrekturGroeße = ErsterVollmond / 29 + (ErsterVollmond / 28 - ErsterVollmond / 29) * (Mondparameter / 11);
            Ostergrenze = 22 + ErsterVollmond - KorrekturGroeße;
            ErsterSonntag = 7 - (Jahr + Jahr / 4 + Sonnenschaltung) % 7;
            Entfernung = 7 - (Ostergrenze - ErsterSonntag) % 7;
            Sonntag = Ostergrenze + Entfernung;

            Sonntag = Convert.ToInt32(Math.Floor(Sonntag));

            if (Sonntag > 31)
            {
                Sonntag -= 31;
                Date = Convert.ToDateTime(Sonntag + ".04." + Jahr);
            }
            else
            {
                Date = Convert.ToDateTime(Sonntag + ".03." + Jahr);
            }

            return Date.ToShortDateString();
        }
        
        public Dictionary<string, string> GetBeweglicheFeiertage(DateTime OsterSonntag)
        { 
            DateTime[] BewegFeier = new DateTime[7];

            Dictionary<string, string> Dic = new Dictionary<string, string>();

            //Dic.Add("GruenDonnerstag", OsterSonntag.AddDays(GruenDonnerstag));
            Dic.Add("KarFreitag", OsterSonntag.AddDays(KarFreitag).ToShortDateString());
            Dic.Add("OsterMontag", OsterSonntag.AddDays(OsterMontag).ToShortDateString());
            Dic.Add("ChristiHimmelfahrt", OsterSonntag.AddDays(ChristiHimmelfahrt).ToShortDateString());
            Dic.Add("PfingstSonntag", OsterSonntag.AddDays(PfingstSonntag).ToShortDateString());
            Dic.Add("PfingstMontag", OsterSonntag.AddDays(PfingstMontag).ToShortDateString());
            Dic.Add("Fronleichnam", OsterSonntag.AddDays(Fronleichnam).ToShortDateString());

            return Dic;

        }
		
		public Dictionary<string, string> GetBeweglicheFeiertage(string OsterSonntag)
		{
			return GetBeweglicheFeiertage( Convert.ToDateTime(OsterSonntag) );
		}
		
	}

Für mehr Infos einfach hier reinschauen --> OsterFormel (Wobei man das nicht als Formel bezeichnen kann...)

07.07.2011 - 15:16 Uhr

Falls es dir nicht möglich sein sollte die Daten vor der Erstellung zu überprüfen so kannst du auch folgendes machen


public class Form1 : Form
{
   public void MyMethodToCallForm2()
   {
      try
      {
         Form2 MyForm2 = new Form2(MyParams);
         MyForm2.Show();
      }
      catch(Exception ex)
      {
         //Anzeige der Fehlermeldung
      }
   }
}

public class Form2 : Form
{
   public Form2(object Params)
   {
      if(!GlobalData.Check())
      {
         throw new Exception("Die Überprüfung der Daten war nicht erfolgreich");
      }
   }
}

Auf diese weise würde dem User keine Exception nach der Messagebox um die Ohren fliegen

06.07.2011 - 09:56 Uhr

PS: Ich mache es meistens so, dass ich den Text, den ich in Tags einschließen will, erst tippe, dann markiere und dann auf den gewünschten Button klicke. Dann werden beide Tags (öffnend und schließend) gleichzeitig eingefügt.

So mache ich das auch immer.
Ja das mit den Offtopic-Tags habe ich immer händisch eingetippt, hatte mich nur darüber
etwas gewundert dass eine Funktion angeboten wird die nicht "Richtig" Funktioniert XD

06.07.2011 - 08:22 Uhr

Hallo zusammen,

Ich habe festgestellt, dass wenn man einen Offtopic-Tag öffnet und dann auf die Option
"aktuellen tag schließen" klickt nichts passiert. Bei anderen Tags wie XML oder Code
Funktioniert das. Ist das ein Bug oder so gewollt?

05.07.2011 - 16:22 Uhr

also ich weiss nicht in wie weit das empfehlenswert ist aber du könntest ja versuchen
von der VideoPlayer-Klasse abzuleiten und innerhalb dieser Klasse einen Command
bereitzustellen. Dieser Command würde dann die Dispose-Methode aufrufen.
und die Row entfernen, nun wenn du eine Observable Collection hast dann erstelle einen
Command. Als CommandParameter gibst du dann z. B. die ID des objektes an
(irgendwas um das Objekt eindeutig zu identifizieren) und suchst dieses Objekt in der
Auflistung. Wenn gefunden --> entfernen

03.07.2011 - 12:43 Uhr

Hallo,

ich weiss nicht ob die Lösung noch gebraucht wird aber wenn dieser fehler auftreten
sollte so reicht es aus beim SQLite Administrator den Menüpunkt "Zu SQLite 3 DB
Migrieren" anzuclicken.

Jedenfalls hat das bei mir geholfen.

01.07.2011 - 10:15 Uhr

Hallo zusammen,

Da hier seit langem nichts mehr los ist, würde ich gerne eine Aufgabe stellen.

Erstelle einen Algorithmus welches den Ostersonntag eines Jahres ermittelt.

Wem das zu einfach war kann ja mal versuchen noch folgende Tage zu ermitteln:


KarFreitag
OsterMontag
ChristiHimmelfahrt
PfingstSonntag
PfingstMontag
Fronleichnam

Viel spaß beim lösen!

30.06.2011 - 16:10 Uhr

Also wenn ich dich richtig verstehe dann versuchst du diese datei mittels Uri angabe zu
laden und danach anzuzeigen, aber das geht ja nicht weil der Server eine
Authentifizierung verlangt. soweit richtig? benutzt du WCF? wenn ja kannst du über die
Methode, welches die PDF geneiert, einfach ein RequiresAuthenticationAttribute setzen.
So kann die Methode nicht aufgerufen werden wenn der Benutzer nicht Authentifiziert ist

28.06.2011 - 16:33 Uhr

Versuch doch mal im VM eine Eigenschaft zu definieren und dich an diese zu binden
Mode=TwoWay nicht vergessen!

28.06.2011 - 10:01 Uhr

Und wie greif ich im ViewModel dann auf das aktuelle Item zu?

Um was zu machen?

Du kannst auch im Button selbst die ID mittels CommandParameter übergeben


CommandParameter="{Binding ID}"