WP7 - TextBox - isFocused() oder ähnliches...
hallo leute,
ich bin am verzweifeln... ich komme ursprunglich aus java und suche bis jetzt vergebens nach der isFocused()-funktion...
in textchanged-fkt. der textbox darf der code nur weiterausgeführt werden, wenn der fokus im textbox ist... ich benutze WP7 + C#
kann mir jemand weiterhelfen?
danke im voraus...
gruß
dimi
AW: WP7 - TextBox - isFocused() oder ähnliches...
AW: WP7 - TextBox - isFocused() oder ähnliches...
Wie kann der textchanged event 'geraised' werden, ohne dass die TextBox den Focus hat?
Falls der Text auch aus anderen Methoden gesetzt wird, dann kann/soll man eine Methode OnTextChanged implementieren, die u.a. auch im TextChanged event aufgerufen wird.
AW: WP7 - TextBox - isFocused() oder ähnliches...
Zitat:
Zitat von
yjeanrenaud
morgen yjeanrenaud,
danke für die antwort, jedoch das bringt mich nicht weiter. in textchanged-funktion darf der code nur ausgeführt werden, wenn der fokus gesetzt ist... und dieser code setzt in anderen textboxen einen text. dadurch wird die textchanged-funktionen der anderen textboxen aufgerufen, jedoch deren code darf nicht ausgeführt werden, da diese textboxen den fokus nicht haben...
gruß
dimi
AW: WP7 - TextBox - isFocused() oder ähnliches...
Zitat:
Zitat von
heliosdev
Wie kann der textchanged event 'geraised' werden, ohne dass die TextBox den Focus hat?
Falls der Text auch aus anderen Methoden gesetzt wird, dann kann/soll man eine Methode OnTextChanged implementieren, die u.a. auch im TextChanged event aufgerufen wird.
morgen heliosdev,
sorry, aber ich verstehe es nicht ganz. ich versuche das problem besser zu beschreiben:
- in textchanged-funktion der 'TextBox A' darf der code nur ausgeführt werden, wenn der fokus gesetzt ist... dieser code setzt in anderen textboxen (TextBox B und C) einen text. dadurch wird die textchanged-funktionen, der anderen textboxen (TextBox B und C) aufgerufen, jedoch deren code darf nicht ausgeführt werden, da diese textboxen (TextBox B und C) den fokus nicht haben...
gruß
dimi
AW: WP7 - TextBox - isFocused() oder ähnliches...
Jup. Wann genau willst du etwas machen? wenn die textbox sichtbar ist, was tun?
AW: WP7 - TextBox - isFocused() oder ähnliches...
Zitat:
Zitat von
yjeanrenaud
Jup. Wann genau willst du etwas machen? wenn die textbox sichtbar ist, was tun?
Annahme/Bedingungen:
- wir haben drei TextBoxen (A, B und C). jeder dieser textboxen enthält die textchanged-fkt mit ähnlicher logik.
- textbox A wird angeklickt und dort eine zahl eingegeben. nach jedem eingegebenen zeichen/zahl wird die textchanged-fkt der textbox A aufgerufen. nun wird, da der fokus auf die textbox A gesetzt ist, eine rechnung durchgeführt und in die textboxen B und C die werte reingeschrieben.
-- wodurch folglich die textchanged-fkt der textboxen B und C aufgerufen wird und dort der code ausgeführt!!! und genau das muss ich unterbinden.
in java habe ich in der textchanged-fkt einer textbox auf den gesetzten fokus geprüft. und falls dieser gesetzt ist, wurde der code ausgeführt....
aber wie ich es in C# machen soll, weiss ich nicht....
gruß
dimi
AW: WP7 - TextBox - isFocused() oder ähnliches...
In den textchanged Methoden:
Code:
if (textBox[ABC].Focused)
{
...
}
AW: WP7 - TextBox - isFocused() oder ähnliches...
Zitat:
Zitat von
heliosdev
In den textchanged Methoden:
Code:
if (textBox[ABC].Focused)
{
...
}
das ist eben das problem, dass in Windows Phone 7 SDK gibt es kein 'Focused' für die textbox... oder muss man zur SDK noch etwas dazuladen, damit ich diese eigenschaft kriege???
AW: WP7 - TextBox - isFocused() oder ähnliches...
Dann muss das halt z.B. mit einem enum gemacht werden:
Code:
private enum FocusedTextBox
{
None,
A,
B,
C
}
Ein Member FocusedTextBox _focusedTextBox erstellen.
In den 3 [ABC]GotFocus wird das member auf den entsprechenden Wert gesetzt. In den 3 [ABC]LostFocus wird es auf None gesetzt.
In den TextChanged events ist die erste Zeile
Code:
if (_focusedTextBox != FocusedTextBox.A (oder B, C)) return;
Nein, kenne mich mit Silverlight Entwicklung (noch) nicht aus! ;)
edit:
Es gibt hier auch ein WP7 Entwicklung Forum
AW: WP7 - TextBox - isFocused() oder ähnliches...
Zitat:
Zitat von
heliosdev
Dann muss das halt z.B. mit einem enum gemacht werden:
Code:
private enum FocusedTextBox
{
None,
A,
B,
C
}
Ein Member FocusTextBox _focusedTextBox erstellen.
In den 3 [ABC]GotFocus wird das member auf den entsprechenden Wert gesetzt. In den 3 [ABC]LostFocus wird es auf None gesetzt.
In den TextChanged events ist die erste Zeile
Code:
if (_focusedTextBox != FoucesTextBox.A (oder B, C)) return;
Nein, kenne mich mit Silverlight Entwicklung (noch) nicht aus! ;)
edit:
Es gibt hier auch ein
WP7 Entwicklung Forum
Danke heliosdev,
werde ich den nächsten tagen es ausprobieren...
melde mich auf jeden fall, ob es geklappt hat...
gruß
dimi
AW: WP7 - TextBox - isFocused() oder ähnliches...
Wäre irgendwie besser im WIndows Phone 7-Forum aufgehoben, so dass wir dann alles an einer Stelle haben?
Hier ist ja eig. eher WM6.5 beheimatet...
Zumindest würde ich hier nicht danach suchen ;)
AW: WP7 - TextBox - isFocused() oder ähnliches...
Hallo zusammen
Ich kann nicht nachvollziehen, ob es im Phone SDK funktioniert, die Beta hat mir mein Studio abgeschossen und deshalb habe ich sie wieder deinstalliert, ich brauch mein Studio schliesslich zum Arbeiten. In Silverlight geht es.
Es gibt mehrere Möglichkeiten:
- Du kannst vor dem Update der TextBox den Event abhängen und danach wieder attachen.
- Du kannst ein Flag machen, ob du gerade am Updaten bist und das in den Eventhandler jeweils abfragen.
Bevorzugen würde ich allerdings folgende Funktionalität:
Innerhalb des TextChanged Eventhandlers:
if (sender == FocusManager.GetFocusedElement())
{
}
Funktioniert allerdings nur auf der höchsten Ebene, sollte allerdings für dich reichen.
Noch schöner fände ich eine Extension Methode Focus auf der Klasse FrameworkElement. Dort kannst du auch wenn du willst via Parent true auch für das Parent Element zurückgeben, sprich auch für die Umgebenden Container.
Wie gesagt, sollte in Silverlight so funktionieren und damit eigentlich auch im Phone SDK.