![](/img/trans.png)
[英]How to add tooltip to all controls in a form programmatically - WPF, C#?
[英]How to add controls / Elements to a form in the WPF C# code?
有沒有一種方法可以像Win Forms C#中那樣添加控件? Button b = new Button();
然后像Form1.Controls.Add(b);
一樣添加它
我無法在WPF中執行此操作,因為Window類中沒有Controls屬性。 我怎樣才能做到這一點。 我讀到的只是放置一個面板,將其停靠以填充,然后在其中使用:
myPanel.Children.Add(b);
但是后來又浮現在我身上。 如何創建和添加面板並將其停靠以填充?
如果我使用Panel p = new Panel();
它標志着錯誤。 以及如何將面板添加到MainWindow?
您可以向下面的窗口中添加一個堆棧面板。
StackPanel myPanel = new StackPanel();
myWindow.Content = myPanel;
就像下面的@HighCore一樣,在代碼隱藏中添加控件並不干凈。 盡可能使用XAML,並避免在代碼后面添加控件
您可以像在XAML中一樣在C#中創建任何結構。
var p = new Panel();
上面的方法不起作用,因為Panel是一個抽象類。 您可以執行以下操作:
var p = new StackPanel();
var g = new Grid();
var wp = new WrapPanel();
var dp = new DockPanel();
//Etc.
在這里查看所有面板: http : //msdn.microsoft.com/zh-cn/library/system.windows.controls.panel(v=vs.110).aspx
<Window ...>
<StackPanel>
<TextBox/>
</StackPanel/>
</Window>
等價於(來自您的MainWindow.xaml.cs):
var sp = new StackPanel();
sp.Children.Add(new TextBox);
Content = sp;
編輯:只是要清楚一點,如果本質上是動態的,則您只想在C#中創建UI。 如果您知道會有哪些字段,請始終使用XAML。 它是WPF的HTML。 在網頁背后編碼所有內容,相當於在網絡設計中發送空白HTML文件並使用JavaScript創建所有內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.