TextEditor verliert selektion bei fokusverlust
2 verfasser
Seite 1 von 1
TextEditor verliert selektion bei fokusverlust
der Rote rahmen verschwindet wenn man zB im emo/pp bereich arbeitet. Dadurch verliert der User leicht die Orientierung, an welcher Textzeile er jetzt arbeitet
(ist schon öfter aufgetaucht und diskutiert worden, allerdings dachte ich es wär gut das hier nochmal aufzulisten)
(ist schon öfter aufgetaucht und diskutiert worden, allerdings dachte ich es wär gut das hier nochmal aufzulisten)
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: TextEditor verliert selektion bei fokusverlust
http://social.msdn.microsoft.com/Forums/en/wpf/thread/7f923ab6-b78e-4b00-905a-6e9a56664372
hier steht wie man die hintergrundfarbe für listboxitems gesetzt werden kann. Hierbei wird unterschieden zwischen der highlight color und der control color (control color is die, wenn die listbox selber den fokus nicht mehr hat)
Da wir allerdings nur die Rahmenfarbe ändern, hilft uns das nur geringfügig. Weiß jemand ob es möglich ist, dass wir die Brushcolor ändern, und für den Rahmen statt für den Hintergrund nutzen? so könnten wir das problem evtl einfach lösen...
Das Grundproblem mit unserer lösung ist, dass wir trigger nutzen. Dh sobald "IsSelected" weg ist, wirds grau... Ein ansatz hierfür wäre hier zB dass wir komplexere trigger nutzen, aber genau weiß ich auch noch nicht wie...
hier steht wie man die hintergrundfarbe für listboxitems gesetzt werden kann. Hierbei wird unterschieden zwischen der highlight color und der control color (control color is die, wenn die listbox selber den fokus nicht mehr hat)
Da wir allerdings nur die Rahmenfarbe ändern, hilft uns das nur geringfügig. Weiß jemand ob es möglich ist, dass wir die Brushcolor ändern, und für den Rahmen statt für den Hintergrund nutzen? so könnten wir das problem evtl einfach lösen...
Das Grundproblem mit unserer lösung ist, dass wir trigger nutzen. Dh sobald "IsSelected" weg ist, wirds grau... Ein ansatz hierfür wäre hier zB dass wir komplexere trigger nutzen, aber genau weiß ich auch noch nicht wie...
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: TextEditor verliert selektion bei fokusverlust
ja das problem wurde im internet halt oft mit diesem "IsKeyboardFocusWithin" gelöst. Hatte da schon viel rumgesucht gehabt aber kam zu keinem wirklichem Ergebnis. Hatte das ja nun in der Mitte rausgenommen, da es eben zu den schon oft besprochenen problemen kam.
Jennifer Jendral- Anzahl der Beiträge : 149
Anmeldedatum : 23.10.12
Re: TextEditor verliert selektion bei fokusverlust
ich steh ma wieder völlig aufm schlauch, was genau war nochma das problem? hatten wir nich nur was auf der linken seite?
Edit:
bin grad zu faul um nachzulesen wir hatten doch irgendwas behoben für das wir dann zwei verschiedene listbox styles für links und mitte hatten... die sind jetz ja grad auch weg irgendwie...
Edit:
bin grad zu faul um nachzulesen wir hatten doch irgendwas behoben für das wir dann zwei verschiedene listbox styles für links und mitte hatten... die sind jetz ja grad auch weg irgendwie...
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: TextEditor verliert selektion bei fokusverlust
Also:
Wir hatten erst nur einen Style für alle Listen bis auf die "involved characters list".
Das führte aber mit dem bereits genannten Trigger zu Problemen, der es aber ermöglichte, dass eben auch ListItems ausgewählt werden auch wenn ein Objekt innerhalb des ListItems angewählt wird und es hat die anhaltende Markierung ermöglicht. Dies führte aber laut deiner Aussage zu Problemen, weil dann irgendwo von dir etwas programmiert wurde, was das "ausgewählt sein" steuerte. Und das hat mit dem Trigger "konkurriert". Also habe ich einen der Trigger aus dem Style genommen (eben den der für die Markierung zuständig war) und nur den Trigger drin gelassen, der für das Klicken der Objekte + Markierung zuständig ist.
Die anderen Listen haben eigene Styles bekommen in denen diese beiden Trigger nicht enthalten sind (wie man auch unten rechts bei der Liste bemerken kann - dort funktioniert das Markieren nicht, wenn man auf die ComboBox klickt).
Leider komme ich bzgl. der Markierungen mit den Triggern leider nicht mehr weiter...bzw. bräuchte etwas Zeit um das nochmal zu vertiefen.
Bei den anderen Listen funktioniert ja das "markiert sein" auch wenn der Focus verloren geht oder? Dann müsste das ja mit der Liste in der Mitte genauso funktionieren....
Sorry meine Ausdrucksweise ist vielleicht etwas einfach;)
Wir hatten erst nur einen Style für alle Listen bis auf die "involved characters list".
Das führte aber mit dem bereits genannten Trigger zu Problemen, der es aber ermöglichte, dass eben auch ListItems ausgewählt werden auch wenn ein Objekt innerhalb des ListItems angewählt wird und es hat die anhaltende Markierung ermöglicht. Dies führte aber laut deiner Aussage zu Problemen, weil dann irgendwo von dir etwas programmiert wurde, was das "ausgewählt sein" steuerte. Und das hat mit dem Trigger "konkurriert". Also habe ich einen der Trigger aus dem Style genommen (eben den der für die Markierung zuständig war) und nur den Trigger drin gelassen, der für das Klicken der Objekte + Markierung zuständig ist.
Die anderen Listen haben eigene Styles bekommen in denen diese beiden Trigger nicht enthalten sind (wie man auch unten rechts bei der Liste bemerken kann - dort funktioniert das Markieren nicht, wenn man auf die ComboBox klickt).
Leider komme ich bzgl. der Markierungen mit den Triggern leider nicht mehr weiter...bzw. bräuchte etwas Zeit um das nochmal zu vertiefen.
Bei den anderen Listen funktioniert ja das "markiert sein" auch wenn der Focus verloren geht oder? Dann müsste das ja mit der Liste in der Mitte genauso funktionieren....
Sorry meine Ausdrucksweise ist vielleicht etwas einfach;)
Jennifer Jendral- Anzahl der Beiträge : 149
Anmeldedatum : 23.10.12
Re: TextEditor verliert selektion bei fokusverlust
stimmt ich glaub das geht... könnte sein dass entweder die listbox andere einstellungen im xaml hat als die andere, oder irgendwas is in unserer texteditorVM anders als in der character/dialoguelist vm
ich geh dem bei gelegenheit auf den grund, ansonsten isses halt n known issue...
ich geh dem bei gelegenheit auf den grund, ansonsten isses halt n known issue...
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: TextEditor verliert selektion bei fokusverlust
ich stell grad fest, dass die listbox in der mitte im gegensatz zu den äußeren Listboxen ne ganze menge extra style hat:
wenn ich den ganzen krempel rausnehme, funktionierts... allerdings is jetz das selektierte item mit hellem hintergrund und funzt ned, mit dem ins textfeld klicken... trotzdem liegts irgendwo da drin...
- Code:
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border x:Name="ItemBorder"
BorderBrush="Black"
Background="LightGray"
BorderThickness="2"
CornerRadius="4"
Margin="3">
<ContentPresenter Margin="2" />
</Border>
<ControlTemplate.Triggers>
<!--hier wird das Feld auf IsSelected gesetzt, wenn man ein Objekt in der Liste auswählt-->
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="IsSelected" Value="True" />
</Trigger>
<!--dieser Trigger legt die Farbe fest, wenn der Wert von IsSelected auf True steht-->
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="ItemBorder" Property="BorderBrush" Value="Red"/>
</Trigger>
<!--dieser Trigger legt die Farbe fest, wenn die Maus über einem Item steht-->
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="ItemBorder" Property="BorderBrush" Value="Gold" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<!--dieser Trigger legt fest wie sich das Item verhält, wenn IsSelected und MouseOver auf False stehen, also nicht ausgewählt sind-->
<Condition Property="IsMouseOver" Value="False" />
<Condition Property="IsSelected" Value="False" />
</MultiTrigger.Conditions>
<Setter TargetName="ItemBorder" Property="Opacity" Value="0.50" />
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
wenn ich den ganzen krempel rausnehme, funktionierts... allerdings is jetz das selektierte item mit hellem hintergrund und funzt ned, mit dem ins textfeld klicken... trotzdem liegts irgendwo da drin...
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: TextEditor verliert selektion bei fokusverlust
- Code:
<Trigger Property="IsKeyboardFocusWithin" Value="False">
<Setter Property="IsSelected" Value="True" />
</Trigger>
hab das ma zu dem extra codewust wieder hinzugefügt... jetz tuts das auf jeden fall.. ich weiß leider nicht mehr genau warum wir die diskussion darüber hatten, glaube aber das betraf nur den linken bereich...
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Seite 1 von 1
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten