[...] da ShowDialog ein bool? zurückliefert [...] Deswegen muss ich extra auf "== true" checken
Musst du nicht. Das kannst du ganz geschmeidig mit
var dialogResult = dialog.ShowDialog();
if(dialogResult.HasValue && dialogResult)
{
//...
}
lösen.
Hallo,
ich weiss nicht ob dir das weiterhilft, bzw. es überhaupt das richtige tool dafür ist, aber kannst es ja mal mit Log4Net probieren.
Hallo,
vllt solltest du dir auch mal das WrapPanel ansehen.
Hahaha, was sagt man dazu,
ich hatte genau das selbe problem und hier ist meine Lösung:
public class ObservableCollectionExtended<T> : ObservableCollection<T> where T : INotifyPropertyChanged
{
public ObservableCollectionExtended(){}
public ObservableCollectionExtended( List<T> list )
: base( list ){}
public ObservableCollectionExtended( IEnumerable<T> collection )
: base( collection ){}
public new event PropertyChangedEventHandler PropertyChanged
{
add { base.PropertyChanged += value; }
remove { base.PropertyChanged -= value; }
}
}
Morgen,
ich bin mir jetzt nicht sicher, aber das Beispiel von Prism sieht so aus als hätte es eine Aktien-Simulation.
Ist zwar WPF aber die entsprechende Code-Stelle zu finden dürfte ja nicht schwer sein.
also,
dir wird unter "Geräte und Drucker" der Bondrucker aufgelistet?
kannst du von dort aus eine Testseite drucken?
Bietet der Hersteller eine API-Dokumentation für das gerät an?
Wenn du weisst wiedie API von dem ding ist, kannst du es auch ansteuern.
hmm, es spricht im grunde nichts dagegen WPF + MVVM mit Prism zu kombinieren.
hmm, vllt sollte ich mal als Stichwort Vererbung in den Raum werfen, sollte dann aber gut überlegt sein.
hmmm,
das ist je nach dem ob du MVVM einsetzt so eine sache, aber guck dir entweder mal [FAQ] Assistenten/Wizards: Mit Windows Forms eine Art Frameset einer Website nachbauen an,
oder aber setze dich mit Prism (hat nichts mit NSA zu tun;-)) auseinander
hmmm, sehr nahe an den Grundlagen, aber manchmal sieht man den Wald vor lauter bäumen nicht 😉
Der Fehler ist, dass dein Control nicht "UserControl" heisst, sondern "LoginView".
Wenn das Control sich in der selben Assembly befindet kannst du folgendes machen:
...
xmlns:Login="<NameSpace>"
...
<Grid>
<Login:LoginView x:Name="MyControl" />
</Grid>
Hallo,
wenn du die Daten aus einer Datenbank ziehst, dann kannst du in der Query auch das "Order By" angeben.
hmm, ich kann dir nicht sagen ob das überhaup machbar ist, aber du kannst mal versuchen in
deinem Soundkarten-Treiber mit dem Stereo-Mix zu spielen. Wenn der eingeschaltet ist, sollte dein
Soundoutput als Input erkannt werden (Der Output bleibt trotzdem erhalten (du hörst noch was )).
Also im Prinzip baust du dann eine Interne Schleife.
Morgen,
Die frage ist doch: Musst du Access verwenden?
wenn nicht dann verwende doch SQLite oder ähnliches
Hallo,
wenn das lokal immer noch nicht geht, dann guckst du hier:
Windows 7: How to display .chm content
Hallo,
Es gibt 2 Möglichkeiten:
oder
Hallo,
also wenn es dir um das SelectionChanged-Event geht dann kannst du im Setter der SelectedItem-Property darauf reagieren.
ansonsten gibt es hier im Forum eine EventToCommand-Klasse mit der man Commands von Events feuern lassen kann.
Hallo,
meinst du UsedImplicity?
Hallo,
ja, z. B. bei Dependency Injections (Unity als Beispiel),
oder aber auch bei der Messenger-Klasse aus dem MVVMLight-Framework wird WeakReference verwendet.
Morgen,
mal ne ganz einfache und dumme frage: Hat die Anwendung, der du die Simulierten Tasten übergeben möchtest, den Fokus?
hallo,
ich werde gleich bestimmt geschlagen, aber lasse doch klasse 2 von klasse 1 erben und klasse 3 von klasse 2
also folgendes:
public class Klasse1 {}
public class Klasse2 : Klasse1 {}
public class Klasse3 : Klasse2 {}
Hallo,
also so ganz spontan würde ich sagen EventToCommand (hier im Forum einfach mal die Suche bemühen 😉)
Aber der ein oder andere hier im Forum hat bestimmt ne bessere Idee parat.
wenn du mal mit den Informationen die in dem Artikel sind, etwas weiter gesucht hättest, wärst du
bestimmt mal auf ValidationStep gestossen.
Mit RawProposedValue kannst du sogar den Wert prüfen, bevor irgendeine art von Konvertierung stattfindet.
Somit würde dein Wert zuerst die ValidationRule durchlaufen und du könntest ein False/True als Result zurückgeben.
Hallo,
vllt bietet dir dieser Artikel von CodeProject etwas mehr Informationen:
Hallo,
vllt hilft dir ja der Beitrag und dessen Antwort weiter
Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch
Hallo,
Du kannst Bei den einzelnen Controls (also die von Control erben) folgendes sagen:
<Grid><Grid.Resources>
<Style x:Key="FontSize16" TargetType="{x:Type Control}" >
<Setter Property="FontSize" Value="16"/>
</Style>
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource FontSize16}" />
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource FontSize16}" />
</Grid></Grid.Resources>
So musst du nicht z.b. bei jeder StatusBar den Style angeben.
Ich stand letztens auch vor dem selben Problem, fand aber heraus dass man Control an sich nicht als
targetType verwenden kann, jedenfalls führt das nicht direkt zum gewollten ergebnis.
Hallo,
vllt. wäre die Messenger-Klasse aus dem MVVMLight Framwork was für dich (Die Messenger-Komponente lässt sich auch als Stand-Alone verwenden)
Hallo,
Also das Model kann man eigentlich nochmal etwas weiter unterteilen, aber um es einfach zu sagen
kümmert sich das Model nur darum, die Daten aus der Datenquelle (Datenbank, XML, etc.) zu holen
oder in diese zu schreiben.
Morgen,
...dann irgendwie zu erkennen welche Kästen angekreuzt wurden.
Also wenn wirklich nur angekreuzt wird, und kein Text per Hand geschrieben wird, und das Dokument immer im gleichen Format (bsp. Hochformat, 200 DPI, GreyScale, etc.) gescannt wird, dann könntest du (anhand eines zuvor leeren eingescannten Dokumentes) ermitteln wo sich die kästen befinden und im eingescannten Bild direkt zu den Pixeln navigieren. Wenn dort dann ein anderer Farbwert ist als im leeren gescannten Dokument, ist dort etwas vorhanden.
Keine Ahnung wie aufwändig das ist oder überhaupt machbar ist.
nur als Hinweis: bei Wikipedia steht zu ISO-8859-1:
Windows-1252 Westeuropäisch (Western European) ist eine 8-Bit-Zeichenkodierung des Microsoft-Betriebssystems Windows, die die meisten westeuropäischen Sprachen unterstützt. Sie baut auf ISO 8859-1 und ISO 8859-15 auf.
hallo,
Also, wenn es einfach sein soll, dann versuch doch einfach mal mit dem VLC-Player auf die URI zuzugreifen.
Und ein Download findet immer statt. Irgendwo müssen die Daten ja gecachet werden.
hallo,
hast du den MySql Connector installiert?
Dann mach aus der MemberExpression ein ConstantExpression
EDIT: ok vergiss es, ist doch nicht so wie erwartet.
Hallo,
hier ist mal was kürzeres:
public static string GetPropertyName<T>( Expression<Func<T>> expression )
{
return ((MemberExpression)expression.Body).Member.Name;
}
verwendung:
var test = GetPropertyName( ()=> WAHR );
Hallo,
du kannst auch mehr als nur ein Subfolder in dem probing-Element angeben
Specifies subdirectories of the application's base directory that might contain assemblies. Delimit each subdirectory with a semicolon.
Korrigiert mich bitte wenn ich falsch liege, aber muss man für Subfolder nicht das "probing" angeben?
Weil laut Assembly Searching Sequence würde nur dann automatisch in Subfoldern gesucht werden, wenn der Ordner genauso wie die Assembly heisst.
Hier mal ein zitat von der Seite:
In a subfolder in the application's folder. The subfolder must have the same name as the assembly.
Nur die Nachricht?
hast du schon gesagt.
Code, der die Nachricht dekodiert? Oder den Ursprungscode, der das Bild erzeugt?
Wenns geht beides, ansonsten poste ich meinen Code 😉
hmm, war wohl zu einfach was? XD
wie auch immer du bist dran.
EDIT:
Da leider noch kein Code gepostet wurde, werde ich natürlich meinen nicht vorenthalten.
(Die 16 Zeilen Code bezogen sich auf das auslesen (der gesamte Code ist nicht Optimiert!))
public class Program
{
private const string Path = @"C:\Temp\SecretMessage.jpg";
static void Main( string[] args )
{
CreateBitmap(Path, 32, new char[] { 'H', 'E', 'L', 'L', 'O', ' ', 'W', 'O', 'R', 'L', 'D' });
Console.WriteLine(ReadBitmap(Path, 32));
Console.ReadKey();
}
private static void CreateBitmap( string path, int pixelHeightAndWidth, char[] message )
{
var tmpBitmapWidth = message.Length * pixelHeightAndWidth;
var tmpBitmapHeight = pixelHeightAndWidth;
using ( var bmp = new Bitmap( tmpBitmapWidth, tmpBitmapHeight ) )
{
var tmpOffsetWidth = 0;
foreach ( var t in message )
{
for ( var x = tmpOffsetWidth; x < ( tmpOffsetWidth + pixelHeightAndWidth ); x++ )
{
for ( var y = 0; y < tmpBitmapHeight; y++ )
{
var tmpColor = Color.FromArgb( 255, t, t, t );
bmp.SetPixel( x, y, tmpColor );
}
}
tmpOffsetWidth += pixelHeightAndWidth;
}
bmp.Save( path );
}
}
private static string ReadBitmap( string path, int pixelHeightAndWidth )
{
var tmpRes = new StringBuilder();
using (var FS = new FileStream(path, FileMode.Open,FileAccess.Read,FileShare.Read))
{
using ( var bmp = new Bitmap( FS ) )
{
for ( int x = 0; x < bmp.Width; x += pixelHeightAndWidth )
{
tmpRes.Append((char)bmp.GetPixel(x, 1).R);
}
}
}
return tmpRes.ToString();
}
}
Hallo zusammen
Im Anhang befindet sich eine geheime Nachricht. Wie lautet sie?
Als Info noch:*Die grafik ist selbsterstellt (Per Code natürlich) *Mein Code ist 16 zeilen Lang (ohne Optimierungen) *Die Grafik wurde nicht in Schwarz/Weiss bzw. Graustufen konvertiert
Wenn noch Infos fehlen oder etwas unklar ist, einfach melden.
Viel Spass!
hmm, Wird der Converter denn bei jeder Änderung der "price"-Property durchlaufen?
mache doch das was herbivore vorgeschlagen hat.
Pack die ganzen buttons in ein Panel oder GroupBox (oder Grid wenn es WPF ist) und sage in deinem
Code
GroupBox1.Enabled = false;
wenn eines der Buttons gedrückt wird. dadurch werden alles Controls innerhalb der GroupBox auf
einen Schlag disabled (natürlich funktioniert das auch umgekehrt).
du müsstest dann nur noch die entsprechenden Events abonnieren und die Aktionen durchführen.
hallo,
Wenn ich dich Richtig verstanden habe, dann ist DependencyProperty das Stichwort.
einfach nur am rande erwähnt:
in der DotNetPro gab es einen Artikel über Dynamische Programmierung (im Grunde Algo-Optimierungen).
aber wie gfoidl und herbivore schon sagten: Erst optmieren wenns nötig ist.
ich meine, du kannst ein neues Projekt anlegen und dann sagen Hinzufügen ->vorhandenes Projekt und dann die csproj datei auswählen.
ansonsten, (was ziemlich lästig wäre) neues projekt anlegen und jede cs-Datei einzeln hinzufügen.
was genau hast du zuletzt gemacht? einen Verweis hinzugefügt?
Hallo,
die .suo-Dateien sind versteckt. In den Ordner-Eigenschaften von Windows kannst du diese einblenden lassen.
Ansonsten kannst du ja die im Unterordner die .csproj-Datei aufrufen
Morgen,
wieso erstellst du das Binding nicht im XAML?
wieso Codebehind? O.o
was die Fehler angeht: Deine werte werden doch angezeigt oder?
Du kannst diese verändern und die änderungen werden übernommen, richtig?
Wenn ja, dann gibts keine Fehler.
Und wie gesagt, die trägheit könnte deswegen sein, weil die Spalten automatisch erzeugt werden.
ein einfaches Beispiel würde so aussehen:
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding MyCollection}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/>
<DataGridTextColumn Header="Alter" Binding="{Binding Path=Age}"/>
</DataGrid.Columns>
</DataGrid>
Hallo,
ohne mir jetzt das projekt angesehen zu haben, versuch mal "AutoGenerateColumns" auf False zu
setzen und die Columns selbst zu definieren. AutoGenerateColumns braucht schon etwas an Zeit
für die Generierung.
uhm, wenn ich dich richtig verstehe dann so:
public class GUIDDictionary<TElementType> : Dictionary<Guid, TElementType>, ISomeInterface where TElementType : IGuidIdentifiedObject {
...
}
Nächstes mal vllt die Forumssuche bemühen hust, hust
Zugriff auf Mobile Device [Scanner Datalogic Memor mit Windows CE]