我正在做WP7应用程序使用全景控件,有一个问题,绑定到全景标题属性。是否可以将该值从ViewModel对象中绑定出来?
xaml文件中的绑定:
<controls:Panorama x:Name="prmPanorama" Title="{Binding Voyage.Title}">ViewModel的Voyage属性是一个模型实体(里面有Title属性),每次更改时都会触发OnNotifyPropertyChanged事件:
private Voyage _voyage;
public Voyage Voyage
{
get { return _voyage; }
set
{
if (_voyage != value)
{
_voyage = value;
OnNotifyPropertyChanged("Voyage");
}
}
}当我将相同的属性绑定到另一个控件中时,例如。TextBlock,绑定工作正常:
<TextBlock Text="{Binding Voyage.Title}" />文本块中显示的文本就像它应该显示的那样,但与此同时,全景图标题并没有被正确绑定-它是折叠的。
有没有人尝试过这样的绑定?我不知道为什么它不能工作。
发布于 2012-02-14 05:44:36
<DataTemplate x:Key="TitleDataTemplate">
<TextBlock Text="{Binding}" />
</DataTemplate>
...
<controls:Panorama Title="{Binding Voyage.Title}"
TitleTemplate="{StaticResource TitleDataTemplate}">全景控件的控件模板使用内容呈现器来显示其title属性类似于按钮的任何值。在设置title模板属性时,可以间接设置内容呈现者的内容模板。
这就是为什么必须在全景控件上设置title属性,然后才能在标题模板中使用该值进行绑定的原因。换句话说,仅仅绑定到标题是不够的,你必须给它一个模板。
Check out this link for more info
https://stackoverflow.com/questions/9268179
复制相似问题