Data binding Windows Phone 7-文本块文本绑定到ViewModel不返回任何内容
我已经构建了一个视图模型,列表框绑定到ObervableCollection,但是我用于临时url的文本框不会绑定并返回数据。无论是编译还是运行,我都没有收到任何错误 视图模型:Data binding Windows Phone 7-文本块文本绑定到ViewModel不返回任何内容,data-binding,windows-phone-7,viewmodel,textblock,Data Binding,Windows Phone 7,Viewmodel,Textblock,我已经构建了一个视图模型,列表框绑定到ObervableCollection,但是我用于临时url的文本框不会绑定并返回数据。无论是编译还是运行,我都没有收到任何错误 视图模型: public class HomepageModel:INotifyPropertyChanged { public TextBlock bgrImg{get;set;} public ObservableCollection<MenuItem> menu {get; private set
public class HomepageModel:INotifyPropertyChanged
{
public TextBlock bgrImg{get;set;}
public ObservableCollection<MenuItem> menu {get; private set;}
public HomepageModel()
{
this.menu = new ObservableCollection<MenuItem>();
}
public void Load()
{
bgrImg = new TextBlock();
bgrImg.Text = "/Windows7MobileClient;component/Images/Desert.jpg";
//bgrImg = ;
menu.Add(new MenuItem("Feed",""));
menu.Add(new MenuItem("Messages",""));
menu.Add(new MenuItem("Media",""));
menu.Add(new MenuItem("Favourites",""));
menu.Add(new MenuItem("Freinds",""));
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (null != handler)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
公共类主页模型:INotifyPropertyChanged
{
公共文本块bgrImg{get;set;}
公共可观察集合菜单{get;private set;}
公共主页模型()
{
this.menu=新的ObservableCollection();
}
公共空荷载()
{
bgrImg=新文本块();
bgrImg.Text=“/Windows7MobileClient;component/Images/Desert.jpg”;
//bgrImg=;
添加(新的菜单项(“提要”);
添加(新菜单项(“消息”和“);
添加(新菜单项(“媒体”和“);
菜单。添加(新菜单项(“收藏夹”);
添加(新菜单项(“Freinds”和“);
}
公共事件属性更改事件处理程序属性更改;
私有void NotifyPropertyChanged(字符串propertyName)
{
PropertyChangedEventHandler处理程序=PropertyChanged;
if(null!=处理程序)
{
处理程序(这是新的PropertyChangedEventArgs(propertyName));
}
}
}
Homepage.xaml
<controls:PanoramaItem Header="menu">
<Grid>
<TextBlock Text="{Binding bgrImg}"/>
<ListBox x:Name="FirstListBox" Margin="0,0,-12,0" ItemsSource="{Binding menu}" MouseLeftButtonUp="FirstListBox_MouseLeftButtonUp" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432">
<TextBlock Text="{Binding label}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</controls:PanoramaItem>
我想使用字符串作为全景背景图像。对不起,如果这看起来是真的,很明显,很简单
Chris您需要在setters中为您希望绑定到的项调用NotifyPropertyChanged()。您需要在setters中为您希望绑定到的项调用NotifyPropertyChanged()。我注意到的另一件事是:您正在尝试将TextBlock绑定到字符串属性:
public TextBlock bgrImg{get;set;}
<TextBlock Text="{Binding bgrImg}"/>
public TextBlock bgrImg{get;set;}
将属性的类型更改为字符串:
public string bgrImg{get;set;}
<TextBlock Text="{Binding bgrImg}"/>
公共字符串bgrImg{get;set;}
我还注意到一件事:您正在尝试将TextBlock绑定到字符串属性:
public TextBlock bgrImg{get;set;}
<TextBlock Text="{Binding bgrImg}"/>
public TextBlock bgrImg{get;set;}
将属性的类型更改为字符串:
public string bgrImg{get;set;}
<TextBlock Text="{Binding bgrImg}"/>
公共字符串bgrImg{get;set;}
对不起,是无意中尝试了不同的方法让它工作。对不起,是无意中尝试了不同的方法让它工作。