È un po 'ridicolo che non riesca a trovare una risposta semplice a questo. Il mio obiettivo è collegare un nuovo controllo immagine mentre l'applicazione è in esecuzione.C# WPF aggiunge il controllo alla finestra principale in fase di esecuzione
img = new System.Windows.Controls.Image();
img.Margin = new Thickness(200, 10, 0, 0);
img.Width = 32;
img.Height = 32;
img.Source = etc;
Ive ha provato
this.AddChild(img);// says must be a single element
this.AddLogicalChild(img);// does nothing
this.AddVisualChild(img);// does nothing
Non è mai stato così difficile per aggiungere un elemento con le forme. Come posso semplicemente collegare questo nuovo elemento alla finestra principale (non un altro controllo) in modo che venga visualizzato.
risolto, ho chiamato il principale griglia, e da lì sono stato in grado di accedere attribuiscono i bambini e la funzione add
main.children.add(img);
<Window x:Class="Crysis_Menu.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded" AllowsTransparency="False" Background="White" Foreground="{x:Null}" WindowStyle="SingleBorderWindow">
<Grid Name="main">
<Button Content="Run" Height="23" HorizontalAlignment="Left" Margin="12,12,0,0" Name="btnRun" VerticalAlignment="Top" Width="151" Click="btnRun_Click" />
<TextBox Height="259" HorizontalAlignment="Left" Margin="12,40,0,0" Name="tbStatus" VerticalAlignment="Top" Width="151" />
</Grid>
</Window>
Questa è la finestra principale: http://screensnapr.com/v/OROEvt.png non ha attributo figli. Devo aggiungerlo alla griglia, l'elemento che contiene il pulsante e la casella di testo che vedi in questa immagine – Drake
Sì, la finestra ha solo contenuto. Qual è il contenuto della tua finestra? Dovresti aggiungere non alla finestra, ma al contenitore interno appropriato. Ecco come funziona la gestione del layout :-) – Vlad