これはちょっとばかげて、これに簡単な答えが見つかりません。 私の目標は、アプリケーションの実行中に新しい画像コントロールを接続することです。C#WPFは実行時にメインウィンドウにコントロールを追加します
img = new System.Windows.Controls.Image();
img.Margin = new Thickness(200, 10, 0, 0);
img.Width = 32;
img.Height = 32;
img.Source = etc;
アイブ氏は、それはフォームを持つ要素を追加するには、この困難はなかった
this.AddChild(img);// says must be a single element
this.AddLogicalChild(img);// does nothing
this.AddVisualChild(img);// does nothing
を試してみました。 この新しい要素を(別のコントロールではなく)メインウィンドウに添付して表示させるにはどうすればいいですか?
は、私は、グリッドの主の名前、それを解決し、そこから私は、子供たちが属性にアクセスすることができたし、追加機能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>
これはメインウィンドウです:http://screensnapr.com/v/OROEvt.pngそれは子供の属性がありません。グリッドに追加する必要があります。この画像に表示されるボタンとテキストボックスを保持している要素です。 – Drake
はい、ウィンドウにはコンテンツしかありません。あなたのウィンドウの内容は何ですか?ウィンドウにではなく、適切な内部コンテナに追加する必要があります。それはレイアウト管理の仕組みです:-) – Vlad