Jak zrobić, żeby w aplikacji w WPF zrobić jakieś okienko które by wyświetlało mi informacje jak w konsoli? Czy da się wysłać jakieś wiadomości do np. TextBox'a w XAMLu by na bieżąco wyświetlało mi nowe informacje które będą się działy? Albo jak się nazywa taki odpowiednik i pod jaka nazwą powinienem szukać?
- Rejestracja:około 11 lat
- Ostatnio:prawie 8 lat
- Postów:5
Jak nową linjkę? Mógłbyś to rozjaśnić? Chcę, żeby się aktualizowało cały czas, bo będzie tam często się zmieniać wiadomość, nie chcę jakiejś konkretnej informacji, tylko powiedzmy jedna się zakończy i dalej coś powinno być wyświetlone, zależnie od tego co zdecyduje użytkownik.
- Rejestracja:ponad 9 lat
- Ostatnio:ponad 6 lat
- Postów:47
Jeżeli zależy ci na logowaniu deweloperskim to możesz w ustawieniach projektu zaznaczyć output type na Console Application, i wyświetlać tekst zwykłem Console.WriteLine("jakaś wiadomość");
A jeżeli na czymś bardziej delikatnym to tak jak @Azarien dajesz zwykłą kontrolkę TextBlock i przypisujesz jej tekst, link do dokumentacji: https://msdn.microsoft.com/pl-pl/library/system.windows.controls.textblock.text(v=vs.110).aspx
- Rejestracja:około 11 lat
- Ostatnio:prawie 8 lat
- Postów:5
To może jeszcze inaczej przykładowo mam w XAMLu "Label" teraz jak się w programie do tego odnieść, żeby tam mi ustawiało to co napisze w kodzie?
W XAMLu mam coś takiego
<Label x:Name="myLabel" Content="" HorizontalAlignment="Left" Height="195" Margin="90,34,0,0" VerticalAlignment="Top" Width="612" />
W kodzie:
Label myLabel = new Label();
myLabel.Content = "tekst";
Czegoś tutaj brakuje?
- Rejestracja:ponad 9 lat
- Ostatnio:ponad 6 lat
- Postów:47
To zależy czy chcesz korzystać z MVVM czy z Code Behind. Jeżeli MVVM to musisz się zapoznać z czymś takim jak chociażby interfejs INotifyPropertyChanged i binding w xmalu. Jeżeli korzystasz z Code Behind to możesz wykorzystywać wszystkie zmienne które definiujesz w xamlu - tak jak to zrobiłeś wyżej
x:Name="MyLabel"
albo
Name="MyLabel"
Tylko że w kodzie nie tworzysz nowych obiektów. One są tworzone w czasie inicjalizacji okna w metodzie InitializeComponent() <- jak dobrze poszukasz to znajdziesz ją, ale nie jest Ci ta wiedza na razie potrzebna. Żeby ustawić jakiś tekst spróbuj:
myLabel.Contet = "jakiś tekst";
ale bez przypisywania obiektu do myLabel.
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.