Data binding Windows Phone 7-文本块文本绑定到ViewModel不返回任何内容

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

我已经构建了一个视图模型,列表框绑定到ObervableCollection,但是我用于临时url的文本框不会绑定并返回数据。无论是编译还是运行,我都没有收到任何错误

视图模型:

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;}

对不起,是无意中尝试了不同的方法让它工作。对不起,是无意中尝试了不同的方法让它工作。