[.NET-WPF] Kan de property van een textbox niet zetten

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • boe2
  • Registratie: November 2002
  • Niet online
Ben recent begonnen met experimenteren met wpf forms. Ik liep echter bijna onmiddelijk tegen een ongelofelijk elementair probleem aan: Ik slaag er eenvoudigweg niet in om de properties van een tektbox te zetten, hoewel mijn project momenteel haast niet simpeler kan zijn.

De huidige XAML layout:
XML:
1
2
3
4
5
6
7
8
<Window x:Class="SharpComic.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300" WindowState="Maximized" WindowStyle="None">
    <Grid>
        <TextBox AcceptsReturn="True" Background="Gray" x:Name="txtTestField"></TextBox>
    </Grid>
</Window>


De achterliggende code:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
public partial class Window1 : Window
    {
        public Window1()
        {
            loadTestData();
        }

        private void loadTestData()
        {
            String output = "dit is een eenvoudig testje dat misloopt";
            txtTestField.Text = output;
        }
    }


Wanneer ik dit uitvoer throwt hij een XamlParseException zodra hij aan het gedeelte komt waar hij de tekst moet zetten. Deze error houdt eigenlijk geen steek, maar als innerexception geeft hij een NullReferenceException op regel 36, wat de regel is die naar "txtTestField.Text = output;" verwijst.

Een zoektocht naar google levert me niets op, behalve elementaire basiscursussen omdat niemand dit probleem lijkt te hebben. Ondertussen zit ik tot mijn schaamte toch al veel te lang te sukkelen hiermee. Heeft er iemand een idee wat er hier aan de hand kan zijn?

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind.' - Pratchett.


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Zet eens voor loadTestData() dit:

InitializeComponent();

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    public partial class Window1 : Window
    {
        public Window1()
        {
            //dit had je niet
            this.InitializeComponent();

            loadTestData();
        }

        private void loadTestData()
        {
            String output = "dit is een eenvoudig testje dat misloopt";
            txtTestField.Text = output;
        }
    }


Die methode mag je niet verwijderen, die initialiseert namelijk alle componenten van je Window.

Extra:
Ik zag het ook niet direct, ik had een breakpoint geplaatst op loadTestData(), en dan gekeken naar de stack. textTestField was null, dus wist ik dat er iets misgegaan was met het initializen.

[ Voor 100% gewijzigd door Snake op 08-05-2009 20:54 ]

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • boe2
  • Registratie: November 2002
  • Niet online
omg 8)7
* boe2 schaamt zich diep

Dat die ontbrak was me dus zelfs totaal niet opgevallen. Zit er al te lang op te staren ondertussen.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind.' - Pratchett.