WPF控件动态添加 只是加了一个button 怎么显示不出来呢?窗口是空的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF控件动态添加 只是加了一个button 怎么显示不出来呢?窗口是空的相关的知识,希望对你有一定的参考价值。

<Window x:Class="shiyan.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">
<Canvas Name="abc">

</Canvas>
</Window>
////////////////////////////////////////////////////////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace shiyan

/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window

public MainWindow()

InitializeComponent();


private void Window_Loaded(object sender, RoutedEventArgs e)

Label button1 = new Label();
abc.Children.Add(button1);


参考技术A 按你的代码来看
1、首先你添加的是label而不是button
2、你没有设label的text属性,当然什么都看不到
3、如果要添加button 试着这样
Button button1 = new Button();
button1.Content="测试";
abc.Children.Add(button1);本回答被提问者采纳

我动态创建了一个canvas,上面动态创建了一些控件,我现在想使用这些控件,该怎么弄

参考技术A 思路是:遍历canvas的children。wpf或silverlight容器控件都是通过Children(border是child)来遍历放在它们里面的控件的。然后就可通过判断控件类型或是名称来获得自己想要的控件。追问

这个问题解决,还有一个问题。如果在一个StackPanel或者canvas中动态创建了4个button,4个button共用一个事件处理函数,我要在处理函数里怎么区分是哪个button触发的事件

追答

最简单的做法是给button的tag赋值,根据tag值来判断具体是哪个button

追问

能通过button的名字来找吗

以上是关于WPF控件动态添加 只是加了一个button 怎么显示不出来呢?窗口是空的的主要内容,如果未能解决你的问题,请参考以下文章

wpf怎么 动态 为控件添加事件? 我 窗口上有许多个label控件,我只是想改变它们的背景色,怎样批量添加?

我动态创建了一个canvas,上面动态创建了一些控件,我现在想使用这些控件,该怎么弄

WPF中如何向Grid右下角添加控件

WPF虚拟键盘如何不获得当前焦点

已知多个button,怎么修改他们的共有属性 c#,wpf

WPF 动态添加UI控件 界面假死 怎么办?