C# 以编程方式设置选项卡的内容
我有一个WPF应用程序,我希望以编程方式显示内容。但当我尝试按特定顺序执行此操作时,它无法显示 这很有效C# 以编程方式设置选项卡的内容,c#,.net,wpf,C#,.net,Wpf,我有一个WPF应用程序,我希望以编程方式显示内容。但当我尝试按特定顺序执行此操作时,它无法显示 这很有效 public partial class MainWindow : Window { private static GX3Logger logger = GX3Logger.GetLogger(); private GX3ClientMain.GX3ClientMain clientMain = null; /// <summa
public partial class MainWindow : Window
{
private static GX3Logger logger = GX3Logger.GetLogger();
private GX3ClientMain.GX3ClientMain clientMain = null;
/// <summary>
/// Main method
/// </summary>
/// <param name="args">
/// Application args
/// </param>
///
public MainWindow()
{
InitializeComponent();
Button btn = new Button();
btn.Content = "Moo";
btn.Height = 100;
btn.Width = 100;
stackPanel1.Children.Add(btn);
}
public int Initialise(string[] args)
{
........
}
}
公共部分类主窗口:窗口
{
私有静态GX3Logger=GX3Logger.GetLogger();
私有GX3ClientMain.GX3ClientMain clientMain=null;
///
///主要方法
///
///
///应用程序参数
///
///
公共主窗口()
{
初始化组件();
按钮btn=新按钮();
btn.Content=“Moo”;
btn.高度=100;
btn.宽度=100;
stackPanel1.Children.Add(btn);
}
公共int初始化(字符串[]args)
{
........
}
}
这并不重要
public partial class App : Application
{
void app_Startup(object sender, StartupEventArgs e)
{
MainWindow mw = new MainWindow();
mw.Initialise(e.Args);
}
}
public partial class MainWindow : Window
{
private static GX3Logger logger = GX3Logger.GetLogger();
private GX3ClientMain.GX3ClientMain clientMain = null;
/// <summary>
/// Main method
/// </summary>
/// <param name="args">
/// Application args
/// </param>
///
public MainWindow()
{
InitializeComponent();
}
public int Initialise(string[] args)
{
Button btn = new Button();
btn.Content = "Moo";
btn.Height = 100;
btn.Width = 100;
stackPanel1.Children.Add(btn);
.......
}
}
公共部分类应用程序:应用程序
{
无效应用程序启动(对象发送器、StartupEventArgs e)
{
主窗口mw=新的主窗口();
mw.初始化(e.Args);
}
}
公共部分类主窗口:窗口
{
私有静态GX3Logger=GX3Logger.GetLogger();
私有GX3ClientMain.GX3ClientMain clientMain=null;
///
///主要方法
///
///
///应用程序参数
///
///
公共主窗口()
{
初始化组件();
}
公共int初始化(字符串[]args)
{
按钮btn=新按钮();
btn.Content=“Moo”;
btn.高度=100;
btn.宽度=100;
stackPanel1.Children.Add(btn);
.......
}
}
为什么不呢?您需要在选项卡项中放置StackPanel
<Window x:Class="WpfApplication1.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">
<TabControl>
<TabItem Name="tab1">
<StackPanel Name="stackPanel1">
</StackPanel>
</TabItem>
</TabControl>
</Window>
然后是代码隐藏
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Button btn = new Button();
btn.Content = "Moo";
stackPanel1.Children.Add(btn);
Button btn2 = new Button();
btn2.Content = "test";
stackPanel1.Children.Add(btn2);
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
}
}
}
命名空间WpfApplication1
{
///
///MainWindow.xaml的交互逻辑
///
公共部分类主窗口:窗口
{
公共主窗口()
{
初始化组件();
按钮btn=新按钮();
btn.Content=“Moo”;
stackPanel1.Children.Add(btn);
按钮btn2=新按钮();
btn2.Content=“测试”;
stackPanel1.Children.Add(btn2);
}
已加载私有无效窗口(对象发送器、路由目标)
{
}
}
}
@user589195,它似乎工作正常,让我添加完整的XAML和代码behind@user589195在代码中添加按钮的位置,应该在初始化Component之后确定问题是我在哪里调用它。现在更新问题:)我需要重画表单还是什么?这不是使用MVVM的小事。花点时间学习一下模式。