Một chút lố bịch mà tôi không thể tìm thấy câu trả lời đơn giản cho điều này. Mục tiêu của tôi là đính kèm một điều khiển hình ảnh mới trong khi ứng dụng đang chạy.C# WPF thêm điều khiển vào cửa sổ chính tại thời điểm chạy
img = new System.Windows.Controls.Image();
img.Margin = new Thickness(200, 10, 0, 0);
img.Width = 32;
img.Height = 32;
img.Source = etc;
Ive đã cố gắng
this.AddChild(img);// says must be a single element
this.AddLogicalChild(img);// does nothing
this.AddVisualChild(img);// does nothing
Đó là không bao giờ khó khăn này để thêm một phần tử với hình thức. Làm cách nào tôi có thể chỉ cần đính kèm phần tử mới này vào cửa sổ chính (không phải một điều khiển khác) để nó hiển thị.
Giải quyết nó, tôi đặt tên cho chính lưới, và từ đó tôi đã có thể truy cập vào thuộc tính trẻ em và tiện ích chức năng
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>
Đây là cửa sổ chính: http://screensnapr.com/v/OROEvt.png không có thuộc tính con. Tôi cần thêm nó vào lưới, phần tử đang giữ nút và hộp văn bản bạn nhìn thấy trong hình này – Drake
Có, Cửa sổ chỉ có Nội dung. Nội dung của cửa sổ của bạn hơn là gì? Bạn nên thêm không vào cửa sổ, nhưng vào vùng chứa bên trong thích hợp. Đó là cách quản lý bố cục hoạt động :-) – Vlad