我是 MVVM 的新手。我有一个主项目“MVVM Demo”,其中包括 mainwindow.xaml 文件,它有我的主 UI。我有一个包含一组项目的列表框:
<ListBox Name="ButtonPanel" ItemsSource="{Binding BoardTabs}" SelectedItem="{Binding SelectedTab, Mode=TwoWay}" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Connect}" >
</TextBlock>
<TextBlock Text="{Binding I2C}" >
</TextBlock>
<TextBlock Text="{Binding Voltage}" >
</TextBlock>
<TextBlock Text="{Binding Clock}" >
</TextBlock>
<TextBlock Text="{Binding Codec}" >
</TextBlock>
<TextBlock Text="{Binding EEPROM}" >
</TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我需要列表框的每个项目分别打开一个新的用户控件。请注意,我在主项目(我的解决方案文件中的第二个项目)之外创建了一个单独的用户控件,并将其添加为对主项目的引用(板控制 mvvm)
Voltage 是 userControl 之一,它有一个 voltage.xaml 文件,我的 Ui 所在的文件有一个单独的视图、模型和视图模型类。当我单击位于 Board Control MVVM 项目中的 MainWindow.xaml 中的电压项(列表框中的文本块)时,它会弹出一个新窗口。
这是我的 ProductView 模型类,它从 mainwindow.xaml UI 中选择选项卡:
private Product m_SelectedTab;
public Product SelectedTab
{
get
{
return m_SelectedTab;
}
set
{
m_SelectedTab = value;
NotifyPropertyChanged("SelectedTab");
}
}
我想知道当我在 Listbox(mainwindow.xaml) 中选择项目时,会弹出一个带有上面的 voltage.xaml UI 的窗口。如果您需要任何进一步的代码以进行清晰的描述,我很乐意在这里上传。
请帮忙 :(