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.
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.
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.
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)
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;
}
}
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?
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.
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
Zitat von AnitaMerz
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?
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.
das Problem scheint nur in Verbindung mit der Anchor-Eigenschaft aufzutreten.
Zitat
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.