PP_beTheToolSmith
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.

TextEditor verliert selektion bei fokusverlust

2 verfasser

Nach unten

TextEditor verliert selektion bei fokusverlust Empty TextEditor verliert selektion bei fokusverlust

Beitrag von ahertel Di März 05, 2013 8:38 am

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)

ahertel

Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12

Nach oben Nach unten

TextEditor verliert selektion bei fokusverlust Empty Re: TextEditor verliert selektion bei fokusverlust

Beitrag von ahertel Di März 05, 2013 8:48 am

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...

ahertel

Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12

Nach oben Nach unten

TextEditor verliert selektion bei fokusverlust Empty Re: TextEditor verliert selektion bei fokusverlust

Beitrag von Jennifer Jendral Di März 05, 2013 11:26 am

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

Nach oben Nach unten

TextEditor verliert selektion bei fokusverlust Empty Re: TextEditor verliert selektion bei fokusverlust

Beitrag von ahertel Di März 05, 2013 11:28 am

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...

ahertel

Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12

Nach oben Nach unten

TextEditor verliert selektion bei fokusverlust Empty Re: TextEditor verliert selektion bei fokusverlust

Beitrag von Jennifer Jendral Di März 05, 2013 11:41 am

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;)

Jennifer Jendral

Anzahl der Beiträge : 149
Anmeldedatum : 23.10.12

Nach oben Nach unten

TextEditor verliert selektion bei fokusverlust Empty Re: TextEditor verliert selektion bei fokusverlust

Beitrag von ahertel Di März 05, 2013 12:18 pm

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...

ahertel

Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12

Nach oben Nach unten

TextEditor verliert selektion bei fokusverlust Empty Re: TextEditor verliert selektion bei fokusverlust

Beitrag von ahertel Di März 05, 2013 12:28 pm

ich stell grad fest, dass die listbox in der mitte im gegensatz zu den äußeren Listboxen ne ganze menge extra style hat:

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

Nach oben Nach unten

TextEditor verliert selektion bei fokusverlust Empty Re: TextEditor verliert selektion bei fokusverlust

Beitrag von ahertel Di März 05, 2013 1:42 pm

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

Nach oben Nach unten

TextEditor verliert selektion bei fokusverlust Empty Re: TextEditor verliert selektion bei fokusverlust

Beitrag von Gesponserte Inhalte


Gesponserte Inhalte


Nach oben Nach unten

Nach oben


 
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten