我是 WPF 的新手,我正在编写一个简单的测试应用程序来熟悉它。我的测试应用程序将检测我连接到计算机的所有操纵杆并显示有关它的信息。到目前为止,我有这个 ViewModel:
public class JoystickViewModel
{
public ObservableCollection<Joystick> Joysticks { get; set; }
public JoystickViewModel()
{
GetAttachedJoysticks();
}
private void GetAttachedJoysticks()
{
// populate Joysticks collection by using SlimDX
}
}
这是我的代码隐藏MainWindow.xaml
:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new JoystickViewModel();
}
}
我的 XAML 用于MainWindow
:
<Window ...>
<Grid>
<ComboBox ItemsSource="{Binding Joysticks}"
DisplayMemberPath="Information.ProductName"/>
</Grid>
</Window>
我遵循了一个教程,该教程也在其构造函数中填充了 ViewModel。
我的问题是,我应该如何填充 ViewModel?对我来说,我在 ViewModel 构造函数中填充集合似乎有点奇怪。这个逻辑应该在 MainWindow 的代码隐藏中吗?还是完全在其他地方?最终目标是不仅要填充此集合,还要定期更新以反映当前状态(用户插入新的操纵杆,拔下现有的操纵杆等......)。