我是 WPF、C# 和 xaml 的新手。我会形容我的知识很贫乏,但正在增长。
我有一个非常简单的应用程序。我想要完成的是以下内容:
我有一个文本框,我要求应用程序的用户输入一个电子邮件地址。我想将该变量存储在某处,以便稍后将其写入屏幕。所以: 1. 获取电子邮件地址(用户点击“下一步”按钮) 2.“感谢电子邮件将设置为”“当实用程序完成时。”
我正在将 Blend 与 SketchFlow 一起使用。我创建了一个允许我存储变量的单例类。
namespace Mysillyapplication
{
public class ApplicationParameters
{
private static ApplicationParameters _instance;
private string _emailAddress;
public static ApplicationParameters Instance
{
get
{
if (_instance == null)
{
_instance = new ApplicationParameters();
}
return _instance;
}
}
public string EmailAddress
{
get { return _emailAddress; }
set
{
_emailAddress = value;
}
}
}
获取电子邮件地址的页面代码:
namespace Mysillyapplication
{
/// <summary>
/// Interaction logic for BasicParameters.xaml
/// </summary>
public partial class BasicParameters : UserControl
{
public BasicParameters()
{
this.InitializeComponent();
}
public string EmailAddress
{
get
{
return ApplicationParameters.Instance.EmailAddress;
}
set
{
ApplicationParameters.Instance.EmailAddress = value;
}
}
}
}
在我的 xaml 中,我有以下几行:
<TextBox x:Name="email" HorizontalAlignment="Left" Height="23" Margin="32,65,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="291"/>
和
<i:EventTrigger EventName="Click">
<ei:ChangePropertyAction TargetName="MySillyapplication_BasicParameters_Name" PropertyName="EmailAddress" Value="{Binding Text, ElementName=email}" />
<pi:NavigateToScreenAction TargetScreen="DBSyncScreens.BeginSync"/>
</i:EventTrigger>
最后,我想在另一个页面上显示它:在该页面的 CS 中,我有以下几行:
public string EmailAddress
{
get
{
return ApplicationParameters.Instance.EmailAddress;
}
set
{
ApplicationParameters.Instance.EmailAddress = value;
}
}
在 XAML 中:
<TextBlock HorizontalAlignment="Left" Height="25" Margin="10,35,0,0" Style="{DynamicResource BasicTextBlock-Sketch}"
VerticalAlignment="Top" Width="605" >
<Run Text="A log of the sync will be sent to "/>
<Run Text="{Binding EmailAddress, Mode=TwoWay}"/>
<Run Text=". Click Next to begin the sync process."/>
</TextBlock>
是错误的并且不起作用。
我可能做错了。任何人都对如何轻松地使该用户变量电子邮件地址易于处理有任何想法。我觉得我想要完成的事情很容易,但我却遇到了很多困难。
获取一个变量,存储它,在其他页面上访问它。