我在我的Silverlight(Windows Phone)应用程序中使用MVVM模型。我的视图中有一个名为“状态”的TextBlock。这个TextBlock将显示交易的状态。如果用户没有注册,则显示消息“您尚未在我们这里注册。请在此处注册”。单词“此处”应该是超链接。如果用户已经在我们这里注册,那么我们会说“上次登录时间为xx-xx-xxxx”...
我的View.xaml包含:
我的View.xaml包含:
<TextBlock Name="lblStatusValue"
Text="{Binding Status}"
TextWrapping="Wrap" FontSize="23"
/>
ViewModel.cs 中定义了一个属性,用于绑定上面的控件。
private string _Status;
public string Status
{
get { return _Status; }
set
{
if (value != _Status)
{
_Status = value;
RaisePropertyChanged("Status");
}
}
}
我们是否可以在任何要显示的消息中选择特定单词并将其作为超链接?由于我正在使用MVVM模型,我不知道如何在运行时添加对象(我尝试了使用超链接中的Run控件,但在MVVM中我们如何实现这一点?)
我是否必须像下面的代码一样在View.cs中添加代码,而无法从ViewModel.cs中执行此操作?
TemplateSelector
模板选择器。但是,你不能在TextBlock
上使用它,因此我建议切换到一个带有两个DataTemplate
的ContentControl
,一个带有超链接,另一个没有... - Omri Btian