【发布时间】:2015-10-20 22:19:23
【问题描述】:
我创建了一个简单的解决方案,试图创建一个“客户”,当应用程序运行时,客户名称会出现在 UI 的文本框中。为什么绑定属性并设置datacontext后似乎不显示?
MainWindowViewModel.cs
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WpfApplication1.Model;
namespace WpfApplication1
{
class MainWindowViewModel
{
private Customer client = new Customer();
public MainWindowViewModel()
{
client.Name = "Greg Johnson";
client.Friends = new ObservableCollection<string>() { "Leslie", "Mitch" };
}
}
}
XAML
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:viewModel="clr-namespace:WpfApplication1"
Title="MainWindow" Height="300" Width="305">
<Window.DataContext>
<viewModel:MainWindowViewModel />
</Window.DataContext>
<Grid>
<TextBox Text="{Binding Name}"/>
</Grid>
</Window>
【问题讨论】:
-
因为
Name是Customer的属性,而不是MainWindowViewModel -
那么我会修改什么来让它显示?