私のビューモデル
public class ExchangeViewModel : ViewModelBase
{
ObservableCollection<string> _repo = new ObservableCollection<string>()
{
"CME",
"CFE",
"LIFFE"
};
#region Properties
public ObservableCollection<string> Exchanges
{
get
{
return _repo;
}
}
#endregion // Properties
#region Constructors
public ExchangeViewModel() { }
#endregion // Constructors
}
私の見解
<Window x:Class="ListviewTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListView
Grid.Row="0"
Grid.Column="0"
SelectionMode="Single"
DataContext="{Binding}"
>
<ListView.View>
<GridView>
<GridViewColumn
DisplayMemberBinding="{Binding Exchanges}"
Header = "Exchange"
>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Grid>
そして、それらを app.xaml.cs でバインドします
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
MainWindow window = new MainWindow();
// Create the ViewModel to which
// the main window binds.
//string path = "Data/customers.xml";
ExchangeViewModel viewModel = new ExchangeViewModel();
// Allow all controls in the window to
// bind to the ViewModel by setting the
// DataContext, which propagates down
// the element tree.
window.DataContext = viewModel;
window.Show();
}
}
しかし、アプリケーションを実行すると、リストビューが空になります。私のバインドされた交換プロパティは、バインディングが適切に行われていないことを示す呼び出しさえ受けません。