Ja so gehts auch aber die Buttons sollen kein teil des ViewModel sein - also bleibt nur meine Lösung. Vllt aber auch eleganter?
Grüße aus Österreich!
Sry wegen der nichtssagenden Themabezeichnung aber ich weis nicht wie ich es ausdrücken soll :S
Gibt es eine bereits eine Standard-Collection die folgendes Bewerkstelligt:
Das DP
public ObjectCollection Commands
{
get { return (ObjectCollection)GetValue(CommandsProperty); }
set { SetValue(CommandsProperty, value); }
}
// Using a DependencyProperty as the backing store for Commands. This enables animation, styling, binding, etc...
public static readonly DependencyProperty CommandsProperty =
DependencyProperty.Register("Commands", typeof(ObjectCollection), typeof(MetroButton));
Meine dummy Collection - will ich durch eine Standard-Collection ersetzen
public class ObjectCollection : ObservableCollection<object>
{
}
Der Grund warum ich das so will:
<common:MetroButton Title="Test123" AdditionalValue="25%">
<common:MetroButton.Commands>
<common:ButtonCollection> <-- Hier möchte ich nicht meine dummy Collection sonderen die Standard-Collection
<Button Content="Blah" />
<Button Content="Blah" />
<Button Content="Blah" />
</common:ButtonCollection>
</common:MetroButton.Commands>
</common:MetroButton>
Code sagt mehr wie Tausend Worte 😄
Danke für die ausführlichen Antworten. Ich zerbreche mir schon seit Wochen den Kopf mit MVVM. Meine Frustration erkennt man an den knapp formulierten Fragen. Entschuldigung deswegen!
Ich werde einfach beinhart ein DP-Prop. in der Code-Behind-Datei anlegen. Grund dafür: auch die Gurus machen's so 😄
Eine Frage kommt mir aber dazu in den Gedanken: Ist das nicht ein katastrophaler Einschnitt in das Programmierer/Designer-Paradigma? Wenn auf einmal der Designer Code schreiben muss?
MfG aus Österreich!
wie stelle ich das dependencyproperty bereit ohne code-behind-datei?
Das Property hat in diesem Fall nichts mit dem ViewModel zu tun!
So soll das dann aussehen:
KFZViewModel ist die Basisklasse von PKWViewModel und LKWViewModel und die Übersicht soll gleich aussehen nur die Akzentfarbe soll eine andere sein:
<DataTemplate DataType="{x:Type vm:PKWViewModel}">
<vw:KFZView Akzent="Blue" />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:LKWViewModel}">
<vw:KFZView Akzent="Red" />
</DataTemplate>
Gibt es eine Möglichkeit ein neues DependencyProperty direkt in XAML einzuführen? Und dieses als dynamische Resource ansteuern?
Hintergrund: Ich möchte streng nach MVVM nachgehen und daher die Code-behind-Datei in ruhe lassen.
Servus Leute aus dem verschlafenen Österreich!
Ich hoffe ich kann euch beschreiben was ich von euch will 😃 Es geht um normales WPF unter Windows.
Ich möchte einen ListItem-Control erstellen, dass normal wie ein ListItem aussieht und wenn man darauf klickt soll es größer werden und editierbar sein.
Konkreter:
Ich habe eine Kunden-DB. Diese will ich schön in einer Liste anzeigen und wenn man auf einen Kunden klickt soll das Element größer werden und Details zum Kunden anzeigen.
Ich glaube so ne Art TabControl wäre sinnvoll, nur eben ohne Tabs, sondern wo ich Code gesteuert durch die Tabs switche.
Wie mache ich das am sinnvollsten?
Gibt es eine Möglichkeit die Tabs vom TabControl auszublenden?
Bzw ist das schöner Code wenn man ein TabControl so verwendet?
Lazy-loading wäre in diesem Context auch nicht schlecht 😃
mfg
Danke für den Input!
@gfoidl danke für den Link, kann ihn zwar hier nicht brauchen aber für ein anderes Projekt.
@winSharp93 danke wollte es eben so machen bis ich jetzt noch mal auf myCSharp geschaut habe und der Ansatz von @Gwinn ist noch feiner 😉
@Gwinn danke so mache ich's!
@herbivore wenn der Meister spricht, kann man ja gar nicht mehr dagegen reden 😄
Ich programmiere mir gerade einen kleinen Vokabel-Trainer der einen Wert (durch abprüfen der Vokabeln) für jede Vokabel festlegt wie gut ich sie kann: 1,0 ich kann sie perfekt (quasi nicht erreichbar) und 0,0 ich kann sie gar nicht.
Ich will jetzt das Vokabeln mit einem niedrigeren Wert häufiger kommen als mit einem hohen Wert - dazu benötige ich einen Zufallsgenerator der öfter kleine Zahlen ausspuckt als große zahlen. Jemand eine Idee?
mfg und danke im voraus!
verwendetes Datenbanksystem: XML
Servus Leute!
Ich bau mir gerade einen RESTful-Service mit ASP.NET MVC 3 und möchte die Daten als XML übergeben.
Hin und wieder bin ich Faul und generiere erst kurz von der serialisierung ein anonymen Typ und will diesen ebenfalls nach XML serialiseren. Doch wenn ich mit dem standard XMLSerializer arbeite bekomme ich immer einen Fehler: "Kein parameterloser Konstruktor deffinert".
Gibt es einen alternativen XML-Serializer oder was kann ich sonst machen?
mfg
NonSense
sowas hab ich mir auch schon gedacht. danke für die bestätigung! 😁
verwendetes Datenbanksystem: MSSQL Express, Entity Framework
Servus aus dem Schnee bedeckten Österreich (kalt is es!)
Also ich hänge schon den ganzen Tag an einem Best-Practice-Problem. Ich möchte Elemente in die DB speichern bei denen die Reihenfolge entscheidend ist. Es gibt jedoch kein direktes Feld die diese Reihenfolge bestimmt (eg. Datum). Ich habe schon über 2 Möglichkeiten nachgedacht:
Möglichkeit
Ein extra Feld anlegen in dem die Reihenfolge darin steht.
Problem: wenn ich ein neues Element dazwischen einfüge muss ich die folgenden +1 erhöhen - performance?
Möglichkeit
Verkettete Liste
Problem: beim suchen aus der datenbank ist diese langsam.
MfG
NonSense
verwendetes Datenbanksystem: Entity Framework 4
Ich schreibe gernen schönen Code und unterteile ihn auch ordentlich. Aber das führt wie zB jetzt immer wieder zu Problemen 😄.
Ich habe die verschiedenen Meta-Datein in verschiedene Assemblies ausgelagert:
Die .csdl liegt in der "DataContract.dll"
Und die .ssdl und .msl im Hauptprogramm - also kein Problem diese zwei zu laden.
entityBuilder.Metadata = @"res://*/myProject.Data.Model.csdl|
res://*/myProject.Data.Store.ssdl|
res://*/myProject.Data.Mapping.msl";
Beim Ausführen des Programms kommt dann folgende Fehlermeldung "Unable to load the specified metadata resource."
Wie muss der Metadata string aussehen damit ich die .csdl aus dem anderen Assembly bekomme?
Meine Vermutung ist, dass es irgendwas mit "res://*/" zutun hat.
normalerweise gidf.de doch hab ich keine ahnung wo die ihre fehler sammeln
Sind Fehler in WCF 3.0 Release Candidate bekannt? Ich hänge nämlich gerade an einem Problem, dass nicht auftreten kann.
"UnsecuredMessageFaultReceived": Dazu findet man im Internet das die Uhr zwischen Klient und Server um mehr als 10 min abweicht. Das Problem: Klient und Server laufen auf dem selben Computer.
mfg
Nonsens
Ausgangslage:
Habe eine Tabelle mit den Feldern X, Y, Z und einen WCF DataContract ebenfalls mit den Feldern (und der gleichen Bedeutung der Felder) X, Y, Z - logisch, wenn ich einfach etwas aus der DB an meinen Klienten versenden will.
Die Tabelle möchte ich mir mittels Entity aus der DB ziehn.
Jetzt zum Problem:
Wie übertrage ich die Resultate?
a.) Entity auch als DataContract deffinieren (geht das?)
b.) DataContract als Interface welches das Entity implementiert (geht leider nicht: DataContract muss eine Klasse sein)
c.) Einfach mappen (unschön, aber wie unschön? und umständlich zum programmieren)
d.) Eine bessere Lösung?
mfg Nonsense
Hallo!
Mehrere WCF-Services sollen untereinander Daten austauschen. Zum Beispiel ein Nachrichtendienst der alle Nachrichten des gerade angemeldeten Clients abruft.
Jetzt zum Problem:
Es kann sein, dass ein Proxy-Klient sich dazwischen schaltet und sich bei diesem Service anmeldet. Wie leite ich die Anmeldeinformationen an den zweiten Service weiter?
Mit freundlichen Grüßen
Nonsense
Plattform: Windows Azure, WCF
Ich habe mit Hilfe von Visual Studio 2008 und der Erweiterung für Windows Azure einen Testservice erstellt.
Beim Ausführen meiner Testapp bekomme ich folgenden Fehler:
Fehler bei der Überprüfung der Bindung mit dem Namen "WSDualHttpBinding", weil der Bindungstyp "System.ServiceModel.WSDualHttpBinding" bei teilweiser Vertrauenswürdigkeit nicht unterstützt wird. Verwenden Sie "BasicHttpBinding" oder "WSHttpBinding", oder hosten Sie Ihre Anwendung in einer voll vertrauenswürdigen Umgebung.
Denkbare Möglichkeiten das Problem zu lösen*Binding für PartialTrust Umgebung zu konfigurieren *Ein anderes Binding benutzen das Dublexfunktionalität hat
private void InitDirect3D
Da hast du die Kammern vergessen.
Aber da Du ja auch 3 Projekte machen kannst, die sich den Sourcecode teilen können,
ist das eigentlich nicht nötig.
Danke, so werd ichs machen! Schade aber das es keine elegantere möglichkeit gibt 🙁
Servus zusammen!
Braucht man das eigentlich im .NET Framework 🤔?
Ja denn ich habe folgendes Problem:
Ich möchte gerne eine Tool-DLL erstellen in der sich zB ein Generischer Baum, etc. befindet. Diese DLL möchte ich gerne in allen Bereichen einsetzen können zB Compact Framework, Silverlight, etc.
Jetzt das Problem: Möchte ich eine Standard Klassenbibliothek als Verweis zu einem PPC Projekt hinzufügen bekomme ich eine Fehlermeldung:
Kann man, und wenn ja wie, eine Bibliothek kompilieren, die diesen Fehler nicht erzeugt?
Also: viel Speicherverbrauch (da jedes Bild 2x abgespeichert wird) oder viel Rechenleistung (da bei jedem Programmstart die Bilder neu generiert werden müssen)?
public Bitmap ConvertToGrayscale(Bitmap source)
{
Bitmap bm = new Bitmap(source.Width,source.Height);
for(int y=0;y<bm.Height;y++)
{
for(int x=0;x<bm.Width;x++)
{
Color c=source.GetPixel(x,y);
int luma = (int)(c.R*0.3 + c.G*0.59+ c.B*0.11);
bm.SetPixel(x,y,Color.FromArgb(luma,luma,luma));
}
}
return bm;
}
Ich arbeite gerade an einem Projekt bei dem ich selbst gefertigte Controls verwende. Die Controls bestehen zu einem großen Teil aus Bildern (Bitmaps).
Manchmal kommt es vor, dass die Controls disabled sein müssen und daher sollten sie sich farblich von den normalen Controls abheben: Enabled Controls in Farbe, Disabled Controls in Graustufen.
Soll ich die Bilder der "Graustufencontrols" just in time generieren oder wie die normalen Bilder in die .resx Datei schmeißen?
Danke im Voraus!
Problem selbst gelöst!
Die Message, die vom MessageInterceptorEventHandler übergeben wird lässt sich in eine SmsMessage casten. Diese hat ein Body-Property, in dem die Nachricht steht.
Meine Plattform: Windows Mobile 6
Mein Projekt: Bei meinem Netzbetreiber, „ONE“, bekomme ich eine SMS über entgangene Anrufe. Diese möchte ich in meinem Programm abfangen und mit meinen Kontakten abgleichen.
Mein Problem: Ich kann mit dem MessageInterceptorEventHandler zwar die Nachricht abfangen, aber nicht den Textkörper lesen. Wie kann ich es doch?
Danke im Voraus.
string[] arr = { @"C:\Users\Thomas\Documents\Test.doc" };
dirView.DoDragDrop(arr, DragDropEffects.Copy);
hab ich gemacht, will nicht!
bin ich zu blöd oder liegt es an etwas anderen?
mfg
Dateien und Ordner in ein Programm zu ziehen ist ja kein Problem!
Aber umgekehrt? Ist es möglich aus dem Programm einen FileDrop in den Explorer zu machen? Wenn ja: wie?
Die Dateien die ich gerne in den Explorer ziehen will liegen schon in einem Verzeichnis. Diese müssten nur mehr kopiert werden...
mfg
Nonsense
nope
wenn ich im designer die größe ändere funktioniert aber!
mfg
(wow! ich liebe dieses forum so schnelle antworten!)
Seas miteinander!
Ich habe ein Problem mit dem ListView-Control! Ich möchte gerne, wie beim Vista Explorer, Stufenlos verstellbare Icons realisieren.
Jetzt mein Problem: Ändere ich die Größe der zu Grunde legenden ImageList ändert sich zwar die Größe des ListViewItems aber das Bild verschwindet!
Wie kann ich das verhindern?
dirView.LargeImageList.ImageSize = new Size(trackImageSize.Value, trackImageSize.Value);
mfg Nonsense
Danke!*Für die schnelle Beantwortung *Für diese Lösung (warum bin ich nicht selbst darauf gekommen)
Aber ist das eine schöne Lösung?
verwendetes Datenbanksystem: SQL Server 2005
Hallo zusammen!
Problem
Ich habe ein Interface zum erzeugen für Klassen deren Felder die in eine DB gespeichert werden sollen. Jede Klasse kann natürlich ihre eigenen Felder erzeugen die aber auch in die Datenbank gespeichert werden sollen! Mein Problem ist nun wie soll ich diese Felder in die DB speichern?
Frage an die Community
Welcher Lösungsansatz ist besser bzw. gibt es eine bessere Lösung?
Danke schon mal im Voraus!
Nonsens
Original von feadur
deshalb vermute ich mal, dass deine klasse nicht als static deklariert worden ist, sondern nur die methode. beides muss aber der fall sein.
danke das war der fehler!
Ich habe ein Problem mit C# 3.0 und dem Visual C# Express:
Ich wollte meinem Professor die Vorzüge von C# 3.0 zeigen, da er sich noch nicht mit dieser Materie befasst hat.
Die Syntax einer Extension Method sieht glaube ich so aus:
static void Test(this int arg)
{
//Verarbeiten
}
doch wenn ich diesen code kompiliern versuche kommt folgende Fehlermeldung:
Extension methods must be defined in a non generic static class
Da ich im W3 nur wenig darüber finde frage ich hier:
was mache ich falsch?
mfg
hi,
senf vom NonSense:
Tipp für den Algorithmus:
Wie vergleiche ich Strings also abfrage ob string a im Alphabet vor string b kommt?
tipp: mit chars kann man rechnen da sie nicht nur das zeichen repräsentieren sondern auch seinen code ('a' ist glaube ich 48...) dadurch kann man so einen Vergleich machen:
if('a' > 'b')
{
}
und auf die einzelnen chars eines strings kannst du mit dem Index zugreifen:
string testString = "hallo welt";
cahr testChar = testString[0]; //h
mfg
ps: in (fast) keinen schlauen Buch findest du sowas 😉
Ich will das jede einzelne Tabelle eines DataSets in einem TabControl angezeigt wird. Jede TabPage hat ein DataGridView welches die Tabellen anzeigt. Jetzt hab ich ein Problem: Die ScrollBars werden nicht angezeigt wenn die Tabelle größer als die Größe des DGV ist! Wie kann ich das ändern?
void RefreshTabs(DataSet ds)
{
centralTabControl.TabPages.Clear();
for (int i = 0; i < ds.Tables.Count; i++)
{
TabPage tableTabPage = new TabPage(ds.Tables[i].TableName);
DataGridView DV = AddDataGridView();
DV.DataSource = this.centralDataSet;
DV.DataMember = centralDataSet.Tables[i].TableName;
DV.Name = "DataGridView" + i.ToString();
tableTabPage.Controls.Add(DV);
tableTabPage.BackColor = System.Drawing.Color.White;
centralTabControl.TabPages.Add(tableTabPage);
}
}
DataGridView AddDataGridView()
{
DataGridView DV = new DataGridView();
DV.AllowUserToOrderColumns = true;
DV.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
DV.AutoGenerateColumns = true;
DV.BackgroundColor = System.Drawing.SystemColors.Control;
DV.BorderStyle = System.Windows.Forms.BorderStyle.None;
DV.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
DV.Location = new System.Drawing.Point(3, 6);
DV.Size = new System.Drawing.Size(100, 225);
//Scrollbarproblem!
DV.ScrollBars = ScrollBars.Both;
return DV;
}
Ein Programm wird dann geschlossen wenn alles abgearbeitet ist! Das heißt wenn du nur die eine WinForm zum abarbeiten hast so wird nach dem Schließen der WinForm das Programm beeendet. Du musst also deine Anweisungen dort plazieren wo sie unabhänig von der WinForm sind! Damit du auch nach dem schließen der WinForm asführen kanst.
void Main()
{
//Neue FormTest anlegen..
//Form wird angezeigt
FormTest.Show()
//Und hier kanst du noch einen WIndows Dienst starten oder was immer du willst
}
Das ist mir jetzt aber peinlich. Doch dank der FAQ konnte ich das Problem beheben.
Mit freundlichen Grüßen Nonsense
Hallo zusammen!
Ich spiel mich zum ersten mal mit einem DataGridView und habe überhaupt keine Ahnung wie man korrekt ein Datum ausliest.
Ich habe folgendes geschrieben:
string test = dataGridViewTest[0, i].Value.ToString();
Und der geworfene Fehler:
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
Ich verstehe nicht warum. Was mach ich Falsch?
Ich hoffe ich frage nicht eine bereits beantwortete Frage.
Mit freundlichen Grüßen Nonsense
Original von blackcoin
orcas ist für 3.0
ich habe gehört das orcas für .netfx 3.5 ist. Und das vs 2005 3.0 voll untrestüzt!
Original von Haggy
Visual Studio 2005 Professionell hat so einen Compiler integriert und ich habe mal was gehört dass SharpDevelop inzwischen auch sowas kann. ggf. dort mal nachsehen / nachfragen
du hast mich falsch verstanden. ich möchte einen compiler den ich direckt am pocketpc habe! Habe von einem Freund einen Tipp bekommen: http://sharptoolbox.madgeek.com/Pages/Author7301bf04-9ac1-46db-93cc-b26fde3a85da.aspx
Hi,
Ich möchte gerne kleinere c# anwendungen auf meinen pocket pc (win CE 4.2) compilieren. Gibt es einen solchen compiler?
mfg
Vielleicht... Ich wolte nur mal schauen obe so etwas zu programmieren schwierig ist, und wenn es zu schwierig ist kauf ich mir sowieso eine Universalfernbedienug...
Original von Borg
Deine Infrarot-Diode ist für den Datentransfer ausgelegt und dürfte kaum eine große Reichweite haben. Dies kann man aber mit einem Experiment leicht herausfinden.
Habe eine Frenbedienung heruntergeladen: übertragung funktioniert
Original von Borg
Du brauchst das Protokoll, mit dem deine Fernbedienung sendet. Davon gibt es aber nicht so viele. Dieses musst du implementieren.
Ein Protokoll? Ich hätte da eher an einen Lernmodus gedacht...
Und wie programmiert man einen Seriellen Port? Ich habe so etwas noch nie gemacht...
Hi zusammen!
Ich spiele gerne mit meinen PocketPC. Zufällig kam ich drauf, das ich Infrarot habe und wollte eine TV Fernbedienung entwickeln doch habe ich überhaupt keine Ahnung wie man so etwas macht.
Von euch möchte ich gerne wissen wie kann man daten über Infrarot austauschen?
mfg
Eine neue Form ist sowiso in einem seperaten Thread! Das heißt du musst nur folgendes schreiben:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); //1. Form wird Initialisiert
Form2 frm2 = new Form2();//1. Form fertig, 2. Form wird initialisiert
frm2.Show();//2.Form wird angezeigt...
}
}
dann misst du die erste Form noch schließen und... Fertig!
Du kannst dann über einen Delegaten eine Progressbar auf Form1 Steuern...