如何在设置后将值从一个变量传递到文本框?在winforms上,我曾经在winforms中使用form1.textbox1.text = variable。
我设置,并从此获取变量...
Public Shared Property containerstring() As String
Get
Return m_containerstring
End Get
Set(value As String)
m_containerstring = value
End Set
End Property
Private Shared m_containerstring As String
基本上,我有一个窗口......用户选择一个变量,然后将此变量设置为@ containerstring。当这个表单关闭时,我想将此变量推送到当前打开的窗口的文本框中。
我是WPF的新手,请原谅noobness。
这就是我为一个窗口所做的,这对于windows来说非常有效。我希望用控件做同样的事情。
Dim strWindowToLookFor As String = GetType(MainWindow).Name
Dim win = ( _
From w In Application.Current.Windows _
Where DirectCast(w, Window).GetType.Name = strWindowToLookFor _
Select w _
).FirstOrDefault
If win IsNot Nothing Then
DirectCast(win, MainWindow).Title = SelectedContainer
End If
答案 0 :(得分:0)
你可以使一个Window关闭事件,如:
this.Closed += MyWindow_Closed;
然后在相应的方法中设置变量。
private void MyWindow_Closed()
{
TextBox1.Text = a;
}
答案 1 :(得分:0)
您可以使用Prism.Events中提供的PubSubEvent。这将允许您订阅活动。
Using Prism.Events;
定义您的活动。
public class MyEvents : PubSubEvent<object>
{
public MyEvents();
}
在你的第一个窗口或代码中
[Import]
public IEventAggregator EventAggregator
{
get;
set;
}
您可以在程序中使用此属性来发送您想要发送的任何值 例如
private void MyWindow_Closed()
{
MyEvents myEvents = EventAggregator.GetEvent<MyEvents>();
myEvents.Publish(yourvalue);
}
发布后,您可以在此计划的任何其他部分订阅相同的活动。
MyEvents myEvents = EventAggregator.GetEvent<MyEvents>();
myEvents.Subscribe(MyEventMethod, ThreadOption.UIThread, true);
并在此处获取您的数据
void MyEventMethod(object obj)
{
// do wharever you want
}