【发布时间】:2017-04-08 08:31:21
【问题描述】:
我正在使用 MVVM 模式构建一个 WPF 应用程序,但我一直在测试简单的绑定,但我没有得到它的工作,代码基本上是这样的:
我认为问题出在 xaml 绑定中 型号:
public class Product
{
private string modelNumber;
public string ModelNumber
{
get { return modelNumber; }
set { modelNumber = value; }
}
private string modelName;
public string ModelName
{
get { return modelName; }
set { modelName = value; }
}
private decimal unitCost;
public decimal UnitCost
{
get { return unitCost; }
set { unitCost = value; }
}
private string description;
public string Description
{
get { return description; }
set { description = value; }
}
public Product(string modelNumber, string modelName, decimal unitCost, string description)
{
ModelNumber = modelNumber;
ModelName = modelName;
UnitCost = unitCost;
Description = description;
}
public static Product GetProduct()
{
return new Product("1","A6",20000,"Description");
}
}
视图模型:
class ProductViewModel
{
public Product p;
public ProductViewModel()
{
p= Product.GetProduct();
}
}
Xaml:
<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();
}
【问题讨论】:
-
"但是我已经测试了即使是简单的绑定,但我无法让它工作"我不相信你。我读了你的问题,它绝对没有关于你做了什么、你期望发生什么以及实际发生了什么的信息。因此,据我所知,一切都按预期进行。当然,您可以edit 包含这些细节并证明我是骗子。此外,您的属性没有实现 INotifyPropertyChanged,因此当视图模型中的值发生更改时,UI 不会自动更新。
标签: wpf mvvm data-binding