WPF, przypisanie pewnej wartości do jednego okienka.

WPF, przypisanie pewnej wartości do jednego okienka.
Tomasz Garwal
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

Mam ja sobie takie cuś z toolboxa.

Kopiuj
<TextBlock Name="TxtBlock_sciezkaWejscia" IsEnabled="False" VerticalAlignment="Center" HorizontalAlignment="Stretch" Margin="5, 0, 5, 0" />

Mam też zmienną

Kopiuj
sciezkaPliku

w której przechowywana jest ścieżka jak nazwa wskazuje. Chce żeby w tym tekst blocku wyświetlała mi się ta ścieżka, jak to przypisać?
Chciałem w MainWindow dać coś takiego:

Kopiuj
TxtBlock_sciezkaWejscia.DataContext = sciezkaPliku;

ale coś nie bangla.

  • Rejestracja: dni
  • Ostatnio: dni
1

DataContext ustawiasz na klase - to jest kontrakt danych. Polecam też zaimplementować w klasie INotifyPropertyChanged. Wówczaas w xaml po prostu bindujesz text do odpowiedniego odpowiedniej nazwy zmiennej

Tomasz Garwal
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 24
0

<TextBlock Name="TxtBlock_sciezkaWejscia" IsEnabled="False" VerticalAlignment="Center" HorizontalAlignment="Stretch" Margin="5, 0, 5, 0" Text="{Binding sciezkaPliku}"/> ??

FL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
1

Użyj właściwości Text zamiast DataContext. Do tego ew. poczytaj chwilę o binding, co pozwoli Ci podpiąć zmienną z tekstem zamiast w codebehind, to w pliku XAML.

Edit: Wygląda na to, że sporo się spóźniłem. Tak, jeśli Ci nie działa, spróbuj dodać DataContext albo dla całego pliku XAML albo tylko dla TextBlocka.

Kopiuj
<TextBlock.DataContext>
                <namespace:nazwaKlasyZKtórejPobieraszWłaściwość/>
</TextBlock.DataContext>

I wtedy odwołujesz się do property z tej klasy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.