Danke dir es funkt. jetzt das hat mein Leben gerettet Allerdings hab ich noch eine Frage und möchte dafür jetzt keinen neuen Thread starten.
Wenn ihr im obenstehenden Code unter "private void padbewegung(object sender, KeyEventArgs e)" schaut, da ist die Bewegung der Pads programmiert.
Diese bewegen sich allerdings sehr ruckelartig bzw. nicht flüssig. Gibt es eine bessere Lösung um das ganze "smooth" wirken zu lassen?
Die Schritte verkleinern wäre eine Möglichkeit, jedoch ist das auch nicht optimal. Hoffentlich habt ihr einen besseren Vorschlag für mich :p
OrginellerName schrieb:
Nur, wozu soviel Aufstand um eigentlich nichts?
Denke das muss jeder selber entscheiden.
Dann entscheide das so und mache die ein eigenes Control mit eben dieser Funktionalität.
FP_05 schrieb:
Danke für eure Hilfestellung.
Ich habe die ID-Nummern jetzt vereinfacht (100001, 100002, usw). Damit kommt OrderBy() klar und sortiert alles korrekt.
Wir können immer noch nur Vermutungen anstellen. Das klingt auf mich nun z.B. so, als ob ID ein String wäre, in welchem ein Integer als String gespeichert ist. Wodurch es zwar korrekt sortiert hat, nur nicht so, wie du es erwartest
Grüssli
Hallo secondsun.
Danke für die Antwort. So gehts danke.
IsSynchronizedWithCurrentItem wird eigentlich schon benötigt. Kann sein dass der defaultwert bei der Combobox schon true ist.
Bei anderen Controls wie der Listview usw. muss man es aber setzen. Ich setzte es grundsätzlich.
Gruß
LOL: 3 Antworten - 3 verschiedene Klassen
Mir war nur wichtig, daß der OT nicht direkt mittels des StreamReaders zeichen- bzw. zeilenbasiert die XMl-Datei einliest, sondern eine für XML spezialisierte Klasse benutzt (ob nun XmlDocument, XmlReader oder XPath oder ...).
Verwende bei Schleifen, welche Arrays durchlaufen bei der Iterationsvariabel immer den Wert 0 bei der Initialisierung, da dies dem ersten Index im Array entspricht.
for(int i = 0; i < 100; i++){}
Könntest du denn auch näher erklären, warum deine Schleife so denn nicht korrekt ist? Fehlermeldung oder Fehlverhalten?
So?
ListBox[] listboxes = new ListBpx[8];
for(int i = 0; i < listboxes.Length; i++)
{
listboxes[i] = new ListBox();
for(int ii = 0; ii < 100; ii++)
{
listboxes[i].Add(ii);
}
}
//vergiss das Controls.AddRange(listboxes); nicht
43 ist ein Integerliteral und das gleiche wie (int)43.
Man möchte natürlich schreiben können
byte b = 43;
ohne jedesmal casten zu müssen:
byte b = (byte)43;
Das sollte es erklären.
Hallo Dravere
Etwas mehr Geduld wäre vielleicht angebracht
Ok. Ich versuchs :-). Nach 2-3 Stunden finde ich dann halt meistens selber eine Lösung. Wobei ich die Eingangsfrage ja schon am 08.04 gestellt habe.
Und in meiner ersten Frage habe ich dabei nicht mal auf die Behaviors von Expression Blend hingeweisen.
Aber:
Vielen Dank für deine Lösung. Ich werde das mal testen. Das mit den Attached Behavoirs war mir nicht klar dass man die so binden kann.
Hallo zusammen,
Einem ListViewItem Style mit gesetzter Template Property spendiere ich folgende Trigger:
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=(ListViewItem.IsSelected)}" Value="True">
<DataTrigger.Setters>
<Setter TargetName="TemplateParent" Property="Background" Value="LightGray" />
Der im Template enthaltene Border soll also bei IsSelected == true einen grauen Hintergrund annehmen.
Nun mache ich folgendes:
<EventTrigger RoutedEvent="DragEnter" SourceName="TemplateParent">
<EventTrigger.Actions>
<BeginStoryboard >
<Storyboard >
<ColorAnimation Storyboard.TargetName="TemplateParent" Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)"
To="Red" Duration="0:0:0.4" AutoReverse="False"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="DragLeave" SourceName="TemplateParent" >
<EventTrigger.Actions>
<BeginStoryboard >
<Storyboard>
<ColorAnimation Storyboard.TargetName="TemplateParent" Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)"
To="White" Duration="0:0:1" AutoReverse="False" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
Soweit alles okay.
Ist ein Item nun Selektiert und der EventSetter "DragEnter" greift läuft alles wie gewollt. Beim greifen des "DragLeave" Setters wird die Border.Background Property logischerweise nach "White" animiert.
Wie muss ich vorgehen, dass ein selektiertes Item nach "LightGray" animiert wird - da ich die To Property der Animation ja scheinbar nicht binden kann ?!
Also.
Es funktioniert wie folgt:
Usercontrol
<TextBox Name="tb"
Text="{Binding Text,
ElementName=LabelTextBoxControl}"
Validation.ValidationAdornerSiteFor="{Binding ElementName=LabelTextBoxControl}">
Verwendung:
<MyUserControl Text={ValidationBinding Name>
Hier die Links dazu die geholfen haben:
http://stackoverflow.com/questions/1094509/wpf-define-bindings-default
http://msdn.microsoft.com/de-de/library/system.windows.controls.validation.validationadornersitefor(v=vs.100).aspx
xPaFFx schrieb:
Klar könnte ich per Holzhammermethode die Suite als eigene Anwendung realisieren die dann einfach entsprechend die anderen Exen bzw xls per Kommando aufruft.
Aber geht das irgendwie auch eleganter?
Was ist daran unelegant?
Du hast mehrere Programme und möchtest Die komfortabel per Knopfdruck starten. Hört sich nach 10 Minuten Aufwand an.
Vielleicht übersehe ich aber auch eine wichtige Anforderung und Du beschreibst nochmal genauer, wo das Problem liegt
Servus,
folgender Code:
ProcessStartInfo startInfo = new ProcessStartInfo("powershell.exe");
startInfo.Arguments = "\"C:\\Ordner 1\\script.ps1\"";
Die Powershell erkennt den Pfad durch das enthaltene Whitespace wohl als zwei Argumente:
Die Benennung "C:\Ordner" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausfhrbaren Programms erkannt.
Was tun?
EDIT: Habe eine entsprechende Anleitung gefunden:
http://forloveofsoftware.blogspot.de/2009/04/calling-powershell-script-in-path-with.html
http://www.vbusers.com/codecsharp/codeget.asp?ThreadID=71&PostID=1
Funktioniert allerdings nicht mit eMail-Clients die keine MAPI-Unterstützung mitbringen, dann ist man bzgl. Anhang aber ohnehin aufgeschmissen.
SmtpClient ist zwar recht einfach, hilft aber nicht weiter wenn die eMail über das eMail-Postfach des Nutzers rausgehen soll (sofern man sie ihn nicht nochmal im Programm irgendwo eintippen lässt)