Já váš kód zkoušel a v konstruktoru mainwindow jsem zavolal jen metodu vykreslisachovnici a vse se mi vykreslilo. Nepridal jste jeste neco do toho kodu?
Příspěvky odeslané z IP adresy 83.208.250.–
Nic to nevykresluje, protože ty forcykly neprojedou ani jednou.
Dělá to něco, dokud je splněna ta podmínka, ale ta není nikdy.
Stačí tam změnit i==8 a j==8 na i<8 a j <8.
Do Canvasu jde přidat víc věcí. K vykreslení se nemusí použít, leč má velkou výhodu v tom, že všem prvkům v něm lze nastavit pozici. Jinak do většiny ovládacích prvků ve WPF můžeš většinu všech ostatních ovládacích prvků, takže je vlastně celkem jedno, do čeho to dáš, protože i do toho pak následně zas můžeš vložit canvas a do canvasu následně až ty buttony ( proto také to addchild).
Jinak funkční příklad:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
x:Class="WpfApplication1.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="640" Height="480">
<Grid x:Name="LayoutRoot">
<Canvas x:Name="canvasik" Margin="132,125,108,111" Background="Black"/>
</Grid>
</Window>
public MainWindow()
{
this.InitializeComponent();
Button btn = new Button();
btn.Width=100;
btn.Height=30;
Canvas.SetLeft(btn, 100);
Canvas.SetTop(btn, 20);
canvasik.Children.Add(btn);
// Insert code required on object creation below this point.
}
Jinak ke GUI většinou připojíš přes metodu Addchild.
To Petrroll :
Vytvoř dynamicky canvas, ten přidej do ovládacích prvků okna. V canvasu můžeš všem prvkům v něm absolutně nastavit pozici.
Myslím, že to dělá statická funkce Canvas.SetLeft, Canvas.SetTop (nebo nějak podobně). Pak stačí přidat jednotlivé buttony do Children příšlušné instance Canvasu.
To bylo přesně tím :) Díky moc.
Dobrý den.
Píši projekt v C# s použitím WPF. Pokud dojde k výjimce (např. index out of array exception), vždy se mi místo té konkrétní výjimky objeví pouze "Nelze vytvořit instanci prvku Window1 definovaného v sestavě ...., Version=0.0.0.0, Culture=neutral, PublicKeyToken=null. Cíl vyvolání způsobil výjimku. Chyba souboru označení Window1.xaml na řádku 2 a pozici 2." a ani se mi nezobrazí řádek kódu, na kterém k výjimce došlu. Takhle se debugguje dost těžko :(
Předem děkuji za odpověď.
Přeji příjemný den.
To djanosik : Naprosto souhlasím, že by to bylo pomalé a s vysokou pravděpodobností i naprosto zbytečné, můj příspěvek byl spíše odpovědí Chrastymu, který tvrdil, že to v C# není vůbec možné.
Nelze? Jsi si jistý? Nešlo by to třeba nějak udělat pomocí reflexe?