Laden...

Forenbeiträge von ProGamer Ingesamt 660 Beiträge

20.10.2014 - 10:38 Uhr

Hallo,

ich weiss nicht ob das eine gute Idee ist oder überhaupt möglich ist aber du könntest ja mittels
WinAPI das Fenster mit dem aktuellen Fokus ermitteln, deine Anwendung zum Child dieses Fenster
machen und dann in einer Ecke dein Notification-Fenster einblenden.

18.09.2014 - 08:10 Uhr

Morgen,

würde sich an so einer Stelle nicht eine Wrapper-Klasse anbieten?

Die Wrapper-Klasse würde dann ein Array bereitstellen, und nach dem einlesen, die Liste der eigentlichen Klasse befüllen und das Objekt zurückliefern.

16.09.2014 - 14:53 Uhr

Hallo,

vielleicht helfen dir die Artikel der Dotnetpro etwas weiter.
Dort gab es eine Artikelserie in der eine Update-Funtkion mit FTP und was dazu gehört realisiert wurde.

Dotnetpro > Archiv > File Transfer Protocol (FTP)

(da fehlt die Ausgabe 10/2013)

28.07.2014 - 10:10 Uhr

Ok, sorry, hätte etwas mehr schreiben können.
ActualWidth und ActualHight sind ReadOnly DPs, somit ist ein Binding nicht möglich.
Das kann man aber mit AttachedProperties umgehen.

siehe pushing-read-only-gui-properties-back-into-viewmodel

Zu deiner anderen Frage, kann ich dir leider nichts sagen.

28.07.2014 - 08:44 Uhr

Morgen,

wo wird denn dein Code ausgeführt? Im Constructor (deiner Form)?
Wenn ja dann versuch es mal im Loaded-Ereignis.

Oder versuche mal dich an die ActualWidth-Eigenschaft der Form zu binden.

25.07.2014 - 08:16 Uhr

Also ich verstehe nicht ganz das Problem, aber du müsstest in der Lage sein auf das Feld mittels Reflection zuzugreifen.
(vorrausgesetzt du Weisst wie das Feld heisst)

16.07.2014 - 16:43 Uhr

Wenn die Datenbank nur von einem User Verwendet wird dann kannst du auch SQLite verwenden.

Wenn es eine Multi-User Anwendung ist, dann verwende wie vorgeschlagen einen SQL-Server oder
etwas anderes vergleichbares deiner Wahl.

15.07.2014 - 11:08 Uhr

Hallo,

vllt hilft dir folgender Thread und dessen Antworten dir weiter:

GUI Forms / Visual Studio: Die Oberfläche verschiebt sich von alleine

02.07.2014 - 12:21 Uhr

hallo,

wenn du wissen möchtest welches TreeViewItem selektiert ist, dann kannst du auch von der TreeView
ableiten und eine DependencyProperty bereitstellen, die das Binding ermöglicht. Der Mode des
Bindings sollte dann auf OneWayToSource eingestellt sein.


	public class TreeViewExtended : TreeView
	{
		public new static readonly DependencyProperty SelectedItemProperty =
			DependencyProperty.Register("SelectedItem", typeof(object), typeof(TreeViewExtended), new PropertyMetadata(default(TreeViewItem)));

		public new object SelectedItem
		{
			get { return GetValue(SelectedItemProperty); }
			set { SetValue( SelectedItemProperty, value ); }
		}
		
		protected override void OnSelectedItemChanged( RoutedPropertyChangedEventArgs<object> e )
		{
			this.SelectedItem = e.NewValue;
		}
	}
06.06.2014 - 09:07 Uhr

Und für die Zahlenwerte solltest du besser Konstanten oder Enums verwenden (anstatt Magic Numbers).

Dazu als Ergänzung:
Magische Zahlen in Code

05.06.2014 - 11:16 Uhr

Ja, MyType war an dieser falsch gewählt, Sorry, hätte ein Interface sein müssen.

was spricht denn dagegen auf Framework 4.0 umzustellen?

04.06.2014 - 13:38 Uhr

Da die besagten DLLs extern sind, muss ich doch irgendwas als Verweis hinterlegen, damit Objekte und Funktionen bekannt sind.

als Stichwort gebe ich dir noch dynamic

siehe auch hier: Welcher Datenbankprovider für sqlite

Ansonsten gibts noch die möglichkeit mit Assembly.Load

(Wenn ich mich jetzt nicht täusche, müsste es in etwa so gehen. (lange her dass ich latebinding mal gebraucht habe XD))


public void CreateInstance()
{
    var tmpInstance = (MyType)Assembly.Load(/*Path to Dll*/);
    tmpInstance.MyMethod
}

04.06.2014 - 13:26 Uhr

du kannst dir ja mal dieses Projekt als Basis nehmen (und folgende Beiträge beachten)
Modern MessageBoxes/ProgressBoxes

04.06.2014 - 11:15 Uhr

Hallo,

hilft dir folgendes weiter?

Listing Used Files

04.06.2014 - 11:12 Uhr

Hallo,

das nennt sich Late Binding und als Stichwort gebe ich dir noch dynamic

03.06.2014 - 14:47 Uhr

Hallo,

also ich habe folgendes verstanden:
Du hast eine Klasse Person, diese Person kann nur einer Abteilung zugeordnet sein.
Die Abteilungen befinden sich in einer Liste und ist an eine ComboBox gebunden.
Das SelectedItem der ComboBox ist an die Property der Personen-Klasse gebunden.
Soweit richtig?

Dein Problem ist nun, dass die Auswahl bzw. das was ausgewählt worden ist nicht Serialisiert wird?
Wenn Ja, wird es denn überhaupt deserialisiert? also ist der Wert in der XML vorhanden?

Wenn Nein, Ignoriere diesen Beitrag.

23.05.2014 - 08:15 Uhr

Hallo,

Der von dir genannt Style wird dann wohl eher zur Laufzeit erstellt und im CodeBehind zugewiesen, richtig?

uhm, Nein.
was ich meine ist folgendes:


	<Style TargetType="{x:Type CaptionLabels}">
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="{x:Type CaptionLabels}">
					[...]

innerhalb von ControlTemplate kannst du dann mit TemplateBinding arbeiten.

oder ich verstehe dein vorhaben total falsch O.o

22.05.2014 - 14:01 Uhr

aber wie binde ich diese dann an die Hintergrundfarbe aller meiner 'CaptionLabels' ohne dabei für jedes Element explizit ein Binding angeben zu müssen?

in dem du einen Style definierst. Am besten einen der ein {x:Type CaptionLabels} verwendet.

15.05.2014 - 14:00 Uhr

Also auf die schnelle sehe ich z.b. folgendes:

this.checkBox1.UseVisualStyleBackColor = false;

diese Angabe fehlt beim Label.
Hilft das?

15.05.2014 - 11:59 Uhr

Mal ne Alternative:

wäre es nicht eine Option das RTF in ein HTML umzuwandeln und dann entsprechend zu parsen?
das dürfte denke ich mal einfacher sein.

Du willst doch nur wissen welche Schriftart für welchen Text verwendet wird oder?

30.04.2014 - 08:21 Uhr

In der Zwischenzeit soll es den aktuellen Stand der Verarbeitung anzeigen ähnlich einer ProgressBar

Suchst du soetwas wie einen Splashscreen?
SplashScreen-Komponente (noch eine ;-P)

29.04.2014 - 15:04 Uhr

ich verstehe nicht ganz was du mit aktualisieren meinst O.o

Meinst du, dass sich der Zustand der CheckBox sich in deinem ViewModel (ich hoffe du verwendest MVVM) ändert du diese Änderung aber nicht mitbekommst?
-> INotifyPropertyChanged und DataBinding

Dann noch ne Frage: kann ich mehr als ein ViewModel für einen View haben?

Die Frage ist hier, was möchtest du damit erreichen?

16.04.2014 - 12:14 Uhr

Mit dem @-Zeichen davor, habe ich aber das Problem das &quot; nicht funktoniert.

Das lässt sich damit lösen in dem man "" schreibt

Also so:


var MyString = @"blabla ""FooBar"" more blabla
and even with a NewLine!";

Wie Abt schon sagte, sowas wie eine IP-Adress (und der Port) gehört in eine Config-Datei.

11.04.2014 - 14:50 Uhr

Also ich wüsste jetzt nicht wie dein vorhaben ohne Filter lösbar sein sollte 😕

WPF Combobox with auto-complete/auto-filter?

11.04.2014 - 08:16 Uhr

Hallo,

Du kannst den DropDown-Style der ComboBox überschreiben und nur die Namen darstellen

Siehe z. B. hier:
Different ComboBox ItemTemplate for dropdown

09.04.2014 - 12:49 Uhr

[...]Soweit richtig?
Nein

ach, verdammt XD

aber hier mal ein gutes Tutorial wegen dem DataTemplateSelector

wpf tutorial: how to use a datatemplateselector

kurz gesagt: Du fragst den Typ ab und returnst das entsprechende Template (welches zuvor im XAML definiert und gesetzt wird)

09.04.2014 - 11:25 Uhr

ich verstehe irgendwie immer noch nicht wo dein problem ist! O.o

du hast eine Klasse Top, diese hat eine Liste der Klasse Mid, diese wiederrum eine Liste von Bot.

Soweit richtig?

Irgendetwas müssen diese Klassen doch gemeinsam haben, und genau das kannst du als BasisKlasse
definieren und deine Top Klasse so ändern, dass es statt Mid Objekten auch Objekte vom Typ der
BasisKlasse aufnehmen kann.

Zusätzlich bastelst du dir einen ItemTemplateSelector und kannst dort prüfen welchen Typ du in der
Liste von Top hast, und das Template entsprechend anpassen.

09.04.2014 - 08:30 Uhr

Morgen,

also ihr scheint nicht die einzigen zu sein mit so einem Problem:

visual studio 2005 designer moves controls and resizes Form
How do I stop Visual Studio from resizing my controls?
Why do controls in the WinForms designer resize on their own?

das Problem scheint nur in Verbindung mit der Anchor-Eigenschaft aufzutreten.

The main source of the problem seems to be relying on anchoring. If I use docking to position my controls, instead of anchoring, my problems seem to go away.

(erster Link)

08.04.2014 - 08:24 Uhr

Morgen,

kann es sein dass du beim starten eine Config-Datei oder ähnliches lädst?
wenn ich mich richtig erinnere musst du den Working-Directory des Dienstes ändern, da dieser standardmäßig auf C:\Windows\system32\ zeigt (glaube ich)

28.03.2014 - 15:52 Uhr

Hallo zusammen,

guckt doch einfach welcher Prozess blockiert: Unlocker

21.03.2014 - 12:29 Uhr

genau. auf die gleiche Art und Weise kannst du auch die Styles für TextBoxen, CheckBoxen etc. definieren und werden automatisch übernommen.

Wenn du das für alle Controls in deinem Window anwenden möchtest kannst du das ganze auch in den Window.Resources definieren.

21.03.2014 - 12:19 Uhr

Hallo,

du kannst innerhalb der Resourcen des Grids ein Style definieren in etwa so:


<Grid>
<Grid.Resources>
<Style TargetType="{x:Type FrameworkElement}" x:Key="VerticalAlignmentCenterStyle">
	<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
<Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource VerticalAlignmentCenterStyle}" />
</Grid.Resources>
...
</Grid>

für jedes Control legst du dann einfach ein neues Style mit entsprechendem TargetType an

19.03.2014 - 10:25 Uhr

@vbprogger

wie soll denn die Eingabe in den Combobox einfließen?

Dieser Button öffnet erstmal eine weitere Form (meine InputBox). Bei Klick auf "OK" in der InputBox fügt er einen neuen "Genre"-Datensatz in die DB hinzu

Hallo,

ich würde inflames2k zustimmen, probiere das mal mit Bindings.

was du auch versuchen könntest (Quick&Dirty) ist die ComboBox, bzw. dessen Items zu Clearen und
dann neu zu befüllen.
Ansonsten dir mal mit nem Debugger angucken, was für Daten du von der Datenbank bekommst.
(also beim ersten mal, ab dem zweiten mal scheints ja zu klappen)

18.03.2014 - 10:36 Uhr

wie du auf den Converter verweist zählt eigentlich zu den Grundlagen, aber ungefähr so:



<Window...

xmlns:conv="NameSpaceToConverter"
>
...
<Window.Resources>
<conv:MyConverter x:Key="ColorConverter" />
</Window.Resources>

...

<Grid Name="grdTPValues"  DataContext="{Binding}" Background="{Binding State, Converter={StaticResource ColorConverter}" >

...

19.02.2014 - 16:07 Uhr

hmm, in dem Link wird genau dein Problem behandelt.
Falls du ein anderes Problem hast, dann beschreib es genauer!

und wo in dem Beitrag stand dass man den Value auf mehr als 100 setzen soll? O.o

19.02.2014 - 15:26 Uhr

hmmm, ich werfe jetzt einfach ORM (object-relational mapper) (z. B. NHibernate (FluentNHibernate noch dazu)) als Stichwort in den Raum.

19.02.2014 - 15:03 Uhr

Suche hier im Forum nach prgressbar bringt z.b. folgendes:

ProgressBar zeigt niedrigeren Wert als gesetzt wurde

19.02.2014 - 09:19 Uhr

uhm, wenn du MVVM einsetzt kannst du doch im Constructor der CodeBehind folgendes machen:


public void MyView(MyViewModel viewModel)
{
    //...
    viewModel.MyStartAnimationEvent += MyOnStartEventAnimationEventHandler
    //...
}

private void MyOnStartEventAnimationEventHandler(object sender, EventArgs e)
{
   //Do Stuff Here!
}

Die View abonniert einfach die Events des ViewModels.
Der Weg in die andere Richtung erfolgt dann mittels Commands.

Oder meinst du etwas ganz anderes? O.o

13.02.2014 - 11:02 Uhr

hmmm, verstehe ich dich richtig, dass du den Thread beenden möchtest wenn deine Anwendung sich beendet?
wenn ja dann solltest du IsBackground deines Threads auf true setzen.

11.02.2014 - 14:36 Uhr

hallo,

wieso nutzt du nicht die Vorteile von OOP, und erstellst dir eine Klasse, welches diese Struktur abbildet? (Die Klasse kann dann Child-Elemente vom eigenen Typ enthalten)

Dann kannst du die Properties füllen und es sogar einem TreeView als ItemsSource (WPF) übergeben.

10.02.2014 - 08:14 Uhr

Morgen,

also wenn du nur einen Hinweis geben möchtest, dann nimm doch Balloon-Tips.
Kann sein, dass es auf einigen System deaktiviert ist, aber kann man sich ja schnell was eigenes
Basteln (wie z. B. bei Skype oder Steam diese Benachrichtigungen unten rechts)

06.02.2014 - 14:09 Uhr

hast du dir eigentlich angeschaut und überhaupt verstanden wie MSSQL Server (oder jede andere NICHT embedded Datenbank) funktioniert?

06.02.2014 - 13:36 Uhr

Hallo,

wie oft wird denn das Event des Timers gefeuert? (also interval-Wert)

05.02.2014 - 16:34 Uhr

ach F**K...

ich entschuldige mich -.-
ich hatte es wirklich so verstanden, dass Set Next Statement nur mit Edit and Continue ausgeführt werden kann.
Ich sollte lesen lernen 😉

05.02.2014 - 16:01 Uhr

Dann stell dein Build mal um auf x86 und guck ob es immer noch so ist.

@FZelle
"Set Next Statement" ist das Stichwort hier, und das gehört zu Edit and Continue.

When Edit and Continue is enabled, supported changes are applied automatically when you use a debugger execution command, such as Continue, Step, Set Next Statement [...]

Quelle: How to: Use Edit and Continue (C#)

05.02.2014 - 08:36 Uhr

Hallo,

vllt. hilft dir das probing-Element weiter.

oder versuchtst du Styles/Bilder aus der Assembly zu laden?
dann kannst du den Pfad ja z.b. so angeben

 <ResourceDictionary ...> 
    <MergedDictionary ...>
        <ResourceDictionary Source="../Styles/MyStyle.xaml" />
    </MergedDictionary>
</ResourceDictionary>

oder im CodeBehind

var resourceDictionary = (ResourceDictionary)Application.LoadComponent(new Uri("../Styles/MyStyle.xaml", UriKind.Relative));
Program.Resources.MergedDictionaries.Add(resourceDictionary);

das "../" navigiert dabei eine Ebene höher. "../../" würde also zwei Ebenen höher navigieren

05.02.2014 - 08:24 Uhr

Morgen,

ich kenne dieses Feature aus VB6 und in VS geht das auch noch, aber ich meine, nur wenn du im
Debug Modus bist und für x86 CPU compilierst.

03.02.2014 - 16:07 Uhr

Hallo,

kann es sein, dass du versuchst die GUI dem Kern bekannt zu machen? O.o

wenn ja dan solltest du deine Architektur nochmal überdenken.
Dem Kern muss es egal von wem es verwendet wird. Es stellt seine Methoden/seine API bereit
und das ViewModel (MVVM als Stichwort) verwendet diese.