wpf简单mvvm绑定不工作

wpf简单mvvm绑定不工作,wpf,mvvm,data-binding,Wpf,Mvvm,Data Binding,我正在使用MVVM模式构建一个WPF应用程序,但我一直在测试,即使是简单的绑定,我也无法让它工作。代码基本上是这样的: 我认为问题在于xaml绑定 型号: 视图模型: class ProductViewModel { public Product p; public ProductViewModel() { p= Product.GetProduct(); } } Xaml: 请更新以

我正在使用MVVM模式构建一个WPF应用程序,但我一直在测试,即使是简单的绑定,我也无法让它工作。代码基本上是这样的:

我认为问题在于xaml绑定 型号:

视图模型:

  class ProductViewModel
    {
        public Product p;
        public ProductViewModel()
        {
           p= Product.GetProduct();

        }

    }
Xaml:


请更新以下内容以解决您的问题:

  • 将ProductViewModel标记为公共
  • 将变量p转换为自动属性<代码>公共产品p{get;set;}

  • 关于我不知道这里是否需要
    public
    ,但是绑定肯定需要一个属性,所以这应该可以解决问题。属性必须是public,但类可能是内部的。所以只做“2”就足够了。“但是我已经测试过了,即使是简单的绑定,我也无法让它工作。”我不相信你。我读了你的问题,它完全没有关于你做了什么,你期望发生什么,以及实际发生了什么的信息。因此,据我所知,一切都如期进行。当然,你可以包括这些细节,证明我是个骗子。此外,属性未实现INotifyPropertyChanged,因此当视图模型中的值更改时,UI不会自动更新。
      class ProductViewModel
        {
            public Product p;
            public ProductViewModel()
            {
               p= Product.GetProduct();
    
            }
    
        }
    
    <Grid Name="gridProductDetails" >
    
        <TextBlock Margin="7">Model Number:</TextBlock>
        <TextBox Margin="5" Grid.Column="1" Grid.ColumnSpan="2" Text="{Binding p.ModelNumber}" ></TextBox>
    
    </Grid>
    
            private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            gridProductDetails.DataContext = new ProductViewModel();
        }