我是WPF的新手,我正在編寫一個簡單的測試應用程序來熟悉它。我的測試應用程序將檢測到所有連接到我的電腦的遊戲杆,並顯示關於它的信息。到目前爲止,我有這個視圖模型:我應該如何填充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();
}
}
而且我對MainWindow
XAML:
<Window ...>
<Grid>
<ComboBox ItemsSource="{Binding Joysticks}"
DisplayMemberPath="Information.ProductName"/>
</Grid>
</Window>
我跟着一個教程,還在其構造函數中填充ViewModel。
我的問題是,我該如何填充ViewModel?對我來說,我對ViewModel構造函數中的集合進行人口分析似乎有些奇怪。這個邏輯應該在MainWindow的代碼隱藏中嗎?或者其他地方?最終的目標是不僅有這個集合填充,而且定期更新,以反映當前的狀態(用戶新的操縱桿插入,拔出現有的,等等)。