wpf通过Url的方式启动,如何给wpf的组件赋值
我在MainWindow里加了一个Textbox,现在通过Url的方式启动这个wpf,代码如下Applicationapp=newApplication();app.St...
我在MainWindow里加了一个Textbox,现在通过Url的方式启动这个wpf,代码如下
Application app = new Application();
app.StartupUri = new Uri("MainWindow.xaml", UriKind.Relative);
app.Run();
想求教大神:怎么给Textbox.Text赋值 展开
Application app = new Application();
app.StartupUri = new Uri("MainWindow.xaml", UriKind.Relative);
app.Run();
想求教大神:怎么给Textbox.Text赋值 展开
4个回答
展开全部
试了一下,两种方法。前提都是你先为MainWindow例的TextBox取个名称,比如我的
<Grid>
<TextBox Name="txt1" MinWidth="100" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
最简的方法,在MainWindow的Loaded里可以获取
Loaded="Window_Loaded"
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.txt1.Text = "Loaded";
}
假如你想在App.xaml的后台代码访问,用如下代码
public partial class App : Application
{
protected override void OnActivated(EventArgs e)
{
base.OnActivated(e);
MainWindow mw = Application.Current.MainWindow as MainWindow;
mw.txt1.Text = "app";
}
}
更多追问追答
追问
本人初学,你说的第一个方法不知道怎么用。Loaded="Window_Loaded"要加在哪里?是在 public partial class MainWindow : Window里添加 private void Window_Loaded么?加上去没有显示。
第二个方法也出不来结果,Textbox的内容还是没有。
是什么问题呢?求解
追答
我把代码传到附件了,你再研究下。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
wpf的精神是数据驱动界面变换,不建议直接修改界面,你可以使用联动绑定,在内存中弄个变量,然后绑定到控件,如果想让控件变化,直接修改变量,控件自动变,这是wpf的思想,不能用老的思维模式,不然就没新意,只是换一个工具而已
不过老实说,全用数据驱动,导致wpf开发大点的程序效率很差,莫名其妙的问题非常多,并且速度很慢,貌似现在微软自己也认识到问题了,不再深入搞这个了,估计是觉得得不偿失
不过老实说,全用数据驱动,导致wpf开发大点的程序效率很差,莫名其妙的问题非常多,并且速度很慢,貌似现在微软自己也认识到问题了,不再深入搞这个了,估计是觉得得不偿失
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : Application
{
public App()
{
Window window= App.Current.MainWindow;
TextBox tb= window.FindName("Textbox") as TextBox;
tb.Text = "hello boy!";
}
}
追问
呃……还是不行
到这句就报错 TextBox tb= window.FindName("textBox1") as TextBox;
能不能直接在这个地方加些代码来实现?
Application app = new Application();
app.StartupUri = new Uri("MainWindow.xaml", UriKind.Relative);
app.Run();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接在App.cs里重写OnStartUp,在里面直接
MainWindow window=new MainWindow();
window.TextBox1=“aaaaaaaaaaa”;
window.Show();
MainWindow window=new MainWindow();
window.TextBox1=“aaaaaaaaaaa”;
window.Show();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询