Laden...
L
Lector
myCSharp.de - Member
135
Themen
862
Beiträge
Letzte Aktivität
vor 4 Jahren
Dabei seit
06.06.2006
Beruf
Programmierer
Erstellt vor 11 Jahren

Wäre es nicht schneller wenn man mit einer Teile-und-Herrsche-Strategie da rangehen würde?
Also ein Element in der Mitte schnappen->zu groß/klein -> Element zwischen aktueller Position und Anfang/Ende schnappen->usw.
Was ich eigendlich fragen wollte ist muss ich das alles selbst implementieren oder gibts irgendwas in Linq was mir die Sache vereinfacht und trotzdem performant ist?

SortedList möchte neben dem eigentlichen Datenwert noch einen Key haben. Soll ich da einfach den Zeitwert der Objekte übergeben? Die Wunschzeit hab ich ja zu dem Zeitpunkt noch nicht.

Erstellt vor 11 Jahren

Hallo miteinander.
Da ich nach langjähriger Pause endlich mal wieder mit C# arbeite habe ich gleich eine Frage.
Ich habe einige tausend Objekte, in dem sich ein Zeit-Attribut befindet. Nun möchte ich mir gerne das Objekt rausholen, dessen Zeit-Attribut am nähesten an einem bestimmten Wert liegt.

Wie mache ich das am performantesten? Welche Datenstruktur sollte ich verwenden? Ich habe bereits an SortedList gedacht. Das Problem ist dass ich meine Objekte nicht nach Zeit sortieren sollte sondern nach Math.Abs(wunschzeit - o.Zeit).

Wie würdet ihr da vorgehen?

Erstellt vor 14 Jahren

Du musst dein GeometryModel schon in einen Viewport3D packen damit es richtig dargestellt wird. Tutorials zum Viewport3D gibt es haufenweise im Internet. Da solltest du leicht fündig werden

Erstellt vor 14 Jahren

Per Code an diese Elemente zu kommen ist so gut wie unmöglich und auch nicht wirklich sauber.

Am besten machst du es so ähnlich wie hier: http://bea.stollnitz.com/blog/?p=53

Erstellt vor 14 Jahren

Hallo,

Ich habe eine TextBox deren Text an ein DependencyProperty gebunden ist. Da ich nur bestimmte Benutzereingaben zulassen will benutze ich die Validierung von WPF. In gewissen Szenarien muss ich die Validierung für dieses Property neu anstoßen. Dies mache ich indem ich den Wert des DependencyProperties kurz ändere und wieder rücksetze. Das funktioniert auch. Leider wird dabei aber der CaretIndex der TextBox wieder zurück auf 0 gesetzt. Das ist ganz schön nervig. Weis jemand wie ich das unterbinden könnte?

Erstellt vor 14 Jahren

Das liegt daran dass WPF die Mauseingaben nur erfasst wenn du auf einem eingefärbten Bereich bist. Setzte mal die Background-Eigenschaft vom StackPanel auf Transparent. Dann solltest du die Mauseingaben erhalten.

Erstellt vor 14 Jahren

Wenn du Binding hinschreibst würde ich mal stark davon ausgehen dass dann auch ein Binding erzeugt wird. Wenn du einfach nur die Resource hinzufügen möchtest mach doch einfach sowas:


        <fk:TransitionPresenter 
          Name="ContenTransiter" DataContext="{Binding Path=BreadCrumb.CurrentFolder}" 
          Transition="{StaticResource Transition}">         
          <ContentPresenter  />
          <ContentPresenter  />
        </fk:TransitionPresenter>
Erstellt vor 14 Jahren

Soweit ich weis kannst du den einzelnen Array-Elementen keinen Namen geben. Was funktionieren **könnte **ist folgendes (ungetestet):


<Blabla.Resources>

<!--Hier definierst du die einzelnen Array-Elemente als objekt und gibst ihnen einen key-->
<obj x:Key="obj1">blabla</obj>
<obj x:Key="obj2">blabla</obj>
<obj x:Key="obj3">blabla</obj>


<x:Array ...>

<StaticResource ResourceKey="obj1"/>
<StaticResource ResourceKey="obj2"/>
<StaticResource ResourceKey="obj3"/>

</x:Array>


</Blabla.Resources>

So solltest du auf die Objekte sowohl als Array als auch einzeln per ResourcenVerweis erreichen. Das ganze ich aber wie gesagt nicht getestet.

Erstellt vor 14 Jahren

Hallo,

Ich möchte für Texteingaben ein Validierungstemplate schreiben dass so ähnlich aussieht wie die Ordnernamen-Validierung von Windows (siehe Anhang). Den Balloon-Tip habe ich als Popup realisiert. Nun habe ich aber noch 2 Probleme:

  1. Man kann einen Popup ein PlacementTarget geben. Das Popup öffnet sich dann auch immer über diesen PlacementTarget. Allerdings verschiebt sich das Popup nicht mit wenn das PlacementTarget verschoben wird (z.B. wenn der Benutzer das Fenster verschiebt). Wie könnte man dieses Problem lösen?

  2. Ein Popup kann anscheinend nicht über einem Bildschirmrand hinausgeschoben werden. Versucht man es trotzdem landet es immer am Rand des Bildschirms auf dem (laut manueller Platzierung) die meisste Fläche zu sehen wäre.
    Kann man das irgendwie abstellen? Mir wäre lieber wenn ich bereits im Vorraus ermitteln könnte ob das Popup unterhalb der TextBox noch Platz hat. Falls es nicht mehr hinpasst würde ich den Balloon lieber über der TextBox platzieren und müsste dann auch den Pfeil beim Balloon anders ausrichten. Wie mache ich das?

Erstellt vor 14 Jahren

Das liegt daran dass das StackPanel seinen Innhalt auf der Laufachse (X bei Orientation==Horizontal und umgekehrt) einfach so platziert als würde dort unendlich Platz zur Verfügung stehen.

D.h. hier konkret dass der Horizontale Scrollbalken nicht angezeigt wird da das äusserste StackPanel den ScrollViewer einfach entsprechend breit macht so dass kein Horizontales Scrollen nötig wird. Dass der ScrollViewer selbst nicht mehr ins StackPanel passt merkt das StackPanel nicht.

Ich würde dir empfehlen für deine GUI ein anderes LayoutPanel zu benutzen. DockPanel eignet sich ganz gut für wenige Elemente. Für komplexes Layout empfehle ich das Grid.

10 von 862 Beiträgen