2009-06-18 10 views
6

Powiedz, że mam siatkę, klikam obiekt i jest wyświetlany na ekranie szczegółów. Nie chcę, aby użytkownik edytował niektóre dane, więc ustawiłem TextBox jako wyłączony? Czy wiążąca praca? Zasadniczo chcę, aby TextBox był wyszarzony lub wyłączony? Co powiesz na to w WPF? Czy ktoś może wyjaśnić?WPF: Tylko do odczytu TextBox i wiązanie

Odpowiedz

20

Tak, powiązanie będzie działać z wyłączonym polem tekstowym. W celu wyłączenia pola tekstowego dostępne są trzy opcje:

  • Ustaw właściwość IsReadOnly na wartość true. Nie wpłynie to na wygląd pola tekstowego, ale zatrzyma użytkownika zmieniającego wartość wewnątrz niego.

  • Ustawienie IsEnabled na false. Spowoduje to wyszarzenie pola tekstowego i uniemożliwi otrzymanie fokusa. Użyj etykiety lub bloku tekstowego. Spowoduje to umieszczenie tekstu na ekranie bez pojawiania się w edytowalnej kontroli.

Jeśli chodzi o wiązanie, to będzie działać tak samo, bez względu na to, co zrobisz. Skonfiguruj wiązanie w normalny sposób w Xaml lub kodzie źródłowym, a wartość zostanie zaktualizowana, gdy właściwość zaplecza zmieni się w zwykły sposób (pod warunkiem, że zaimplementowano INotifyPropertyChanged, w przeciwnym razie zostanie ona ustawiona tylko raz)

4

Jest IsReadOnly nieruchomość na TextBox, wystarczy ustawić go do prawdziwej

3

chciałbym użyć < TextBlock/> lub < Label/> do wyświetlania danych statycznych zamiast < TextBox/>.