5 Stimmen

Wie kann man verhindern, dass eine Combobox ein Element aus seiner Liste in wpf auswählen?

Diese Combobox soll einen gebundenen Wert als Text anzeigen und kann nicht deaktiviert werden. Ich möchte nur verhindern, dass ein Benutzer den angezeigten Wert ändert.

8voto

Towhid Punkte 1860
    comboBoxName.IsHitTestVisible = false;
    comboBoxName.Focusable = false;

Verwenden Sie diese beiden Zeilencodes zusammen.

Edit Note: Bearbeitet, um das Problem zu lösen, das von skypecakes

2 Stimmen

Das bringt nicht viel. Sie können immer noch mit der Tabulatortaste dorthin wechseln und den Wert mit den Pfeiltasten ändern und die Liste mit F4 herunterziehen.

2 Stimmen

comboBoxName.IsHitTestVisible = false; comboBoxName.Focusable = false; Verwenden Sie diese beiden Codezeilen zusammen. Die zweite Zeile verhindert, dass Sie mit der Tabulatortaste darauf zugreifen können.

0 Stimmen

@Peter Dies sollte die akzeptierte Antwort sein. Es ist die einzige, die tut, was wir wollen, ohne die Deaktivierung (die das Aussehen verändert). Die einzige andere Möglichkeit, dies zu erreichen, wäre, die Vorlage zu extrahieren und zu ändern, was am besten vermieden wird und durch die Einstellung dieser Eigenschaften in der Tat unnötig ist.

1voto

Chris Bednarski Punkte 3052

Laut MSDN benötigen Sie

IsReadOnly = true;
IsEditable = false;

Voir http://msdn.microsoft.com/en-us/library/system.Windows.controls.combobox.isreadonly.aspx unter Bemerkungen

Edit: eigentlich bin ich mir nicht mehr sicher

Ich schlage vor, einen Stil zu verwenden, um ReadOnly auf PART_EditableTextBox auf true zu setzen

1voto

Jeba Ranganathan Punkte 462

Versuchen XAML

IsEnabled="False"

C#

YOUCOMBOBOX.IsEnabled=false;

1voto

John Smitty Punkte 27

Wenn Sie IsEnabled = false setzen, sollte dies funktionieren. In Ihrer XAML würde es wie folgt aussehen

<ComboBox IsEnabled="False"></ComboBox>

0 Stimmen

Ich möchte nicht, dass es deaktiviert wird (oder besser gesagt, ich möchte es nicht, da ich wpf nicht mehr verwende :) ). Ich möchte es nur schreibgeschützt

-3voto

Tri Q Tran Punkte 5200

Ihre Frage ist unklar.

Eine Combobox hat die Abhängigkeitseigenschaft IsEditable, und wenn sie auf false gesetzt ist, kann das ausgewählte Element nicht bearbeitet werden. Diese Eigenschaft ist standardmäßig falsch.

Wenn Sie über die Elemente in der Combobox-Popup-Liste sprechen, dann sollte sie auch "nicht bearbeitbar" sein, es sei denn, Sie haben die Datenvorlage Ihrer Combobox geändert, um eine Liste von Textfeldern zu enthalten, was dazu führt, dass die Liste jedes Element bearbeitbar macht.

0 Stimmen

Auch wenn IsEditable auf false gesetzt ist, können Sie die Auswahl ändern. Ich möchte, dass der Wert schreibgeschützt ist.

0 Stimmen

Readonly auf True setzen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X