[WPF] Formatowanie TextBoxa w behind-code

[WPF] Formatowanie TextBoxa w behind-code
P7
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 6 lat
  • Postów:43
0

Hej;
Potrzebuje zedytowac wyglad trzcionki w textboxie. Niestety nie wszystko sie udaje :(

Kod XAML:

Kopiuj
        <Grid Grid.Column="0" Background="#FF85B959" Margin="0,0,0,0">
            <Image  Name="Logo_0_0"  HorizontalAlignment="Center" VerticalAlignment="Center"></Image>
            <Image  Name="Stan_0_0"  HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="None" ></Image>
            <TextBox Name="TBNo_0_0"  Background="#FF85B959"  FontFamily="Times New Roman" />
            <Image  Name="Pilka_0_0"  HorizontalAlignment="Left" VerticalAlignment="Bottom" Stretch="None" ></Image>
        </Grid>
        <Grid Grid.Column="1" Background="#FF85B959" Margin="0,0,0,1">
            <Image  Name="Logo_0_1"  HorizontalAlignment="Center" VerticalAlignment="Center"></Image>
            <Image  Name="Stan_0_1"  HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="None" ></Image>
            <TextBox Name="TBNo_0_1"  Background="#FF85B959" FontFamily="Times New Roman" />
            <Image  Name="Pilka_0_1"  HorizontalAlignment="Left" VerticalAlignment="Bottom" Stretch="None" ></Image>
        </Grid>
        <Grid Grid.Column="2" Background="#FF85B959" Margin="0,0,0,1">
            <Image  Name="Logo_0_2"  HorizontalAlignment="Center" VerticalAlignment="Center"></Image>
            <Image  Name="Stan_0_2"  HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="None" ></Image>
            <TextBox Name="TBNo_0_2"  Background="#FF85B959"  FontFamily="Times New Roman" />
            <Image  Name="Pilka_0_2"  HorizontalAlignment="Left" VerticalAlignment="Bottom" Stretch="None" ></Image>
        </Grid>

Kod c#:

Kopiuj
       public MainWindow()
        {
            InitializeComponent();

            TBNo_0_0 = StylTekstu(0, 0);
            TBNo_0_1 = StylTekstu(0, 1);
            TBNo_0_2 = StylTekstu(0, 2);
   
        }

        TextBox[,] txtBox = new TextBox[0, 3];

        public TextBox StylTekstu(int i, int j)

        {
            txtBox[i, j].Text = "6";     // tutaj wyskakuje bład : System.NullReferenceException: „Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.”

            txtBox[i, j].FontSize = 13;
            txtBox[i, j].FontWeight = FontWeights.Bold;
            txtBox[i, j].Foreground = Brushes.Red;
            txtBox[i, j].VerticalAlignment = VerticalAlignment.Center;
            txtBox[i, j].HorizontalAlignment = HorizontalAlignment.Center;
            txtBox[i, j].TextAlignment = TextAlignment.Center;
            txtBox[i, j].BorderBrush = Brushes.White;

            return txtBox[i, j];
        }

Dlaczego dostaje błąd : ** System.NullReferenceException: „Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.”**

Dzieki za pomoc

edytowany 1x, ostatnio: polsky777
FL
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 5 lat
  • Postów:10
0

Zrobiłeś tablicę, ale pozbawioną wartości. Wewnątrz masz jedynie puste referencje, nieprowadzące do żadnego obiektu. Ustaw wartości dla tablicy, odwołując się do tych textboxów, które masz już utworzone w XAMLu albo stwórz poprzez new TextBox().

P7
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 6 lat
  • Postów:43
0
Flaming napisał(a):

Zrobiłeś tablicę, ale pozbawioną wartości. Wewnątrz masz jedynie puste referencje, nieprowadzące do żadnego obiektu. Ustaw wartości dla tablicy, odwołując się do tych textboxów, które masz już utworzone w XAMLu albo stwórz poprzez new TextBox().

Pomogło :) Dzieki

P7
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 6 lat
  • Postów:43
0

Błąd zniknął, ale jest jedno ale :(
Metoda StylTekstu nie przekazuje obiektu txtBox do textboxa TBNo_0_0.
Dlaczego ?

Czy sposób odwołania do metody :

Kopiuj
 TBNo_0_0 = StylTekstu(0, 0)

jest ok ? Sprawdziłem ze metoda ustaiwa wartość txtBoxa[0,0] prawidłowo. Nie wiem dlaczego nie są własciwosci obiektu prxzekazywane do pola tekstowego :(

edytowany 2x, ostatnio: polsky777

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.