WPF prism 使用范例
时间: 2024-05-03 21:23:04 浏览: 154
以下是一个简单的 WPF Prism 使用范例,该范例演示了如何使用 Prism 构建一个基本的 WPF 应用程序:
1. 创建一个新的 WPF 应用程序项目。
2. 使用 NuGet 安装 Prism 库。
3. 在 App.xaml 文件中添加以下内容:
```xml
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:prism="http://prismlibrary.com/"
x:Class="WpfPrismExample.App">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Prism.Mvvm;component/Prism.Mvvm.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
<Application.StartupUri>
<Uri xmlns="" />
</Application.StartupUri>
</Application>
```
4. 在 MainWindow.xaml 文件中添加以下内容:
```xml
<Window x:Class="WpfPrismExample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:prism="http://prismlibrary.com/"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ContentControl prism:RegionManager.RegionName="MainRegion" />
</Grid>
</Window>
```
5. 创建一个名为 MainViewModel 的视图模型类,并在其中添加一些属性和方法。
```csharp
using Prism.Mvvm;
namespace WpfPrismExample.ViewModels
{
public class MainViewModel : BindableBase
{
private string _title = "WPF Prism Example";
public string Title
{
get { return _title; }
set { SetProperty(ref _title, value); }
}
public MainViewModel()
{
}
}
}
```
6. 创建一个名为 MainView 的视图类,并在其中绑定视图模型的属性。
```xml
<UserControl x:Class="WpfPrismExample.Views.MainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True">
<Grid>
<TextBlock Text="{Binding Title}" />
</Grid>
</UserControl>
```
7. 在 App.xaml.cs 文件中添加以下内容:
```csharp
using Prism.Ioc;
using Prism.Unity;
using System.Windows;
using WpfPrismExample.Views;
namespace WpfPrismExample
{
public partial class App : PrismApplication
{
protected override Window CreateShell()
{
return Container.Resolve<MainWindow>();
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterForNavigation<MainView>();
}
}
}
```
8. 运行应用程序,应该会看到一个包含“WPF Prism Example”文本的窗口。
这只是一个简单的示例,但它演示了如何使用 Prism 构建可扩展的 WPF 应用程序。通过使用 Prism,您可以轻松地将应用程序拆分为模块,并使用依赖注入来管理它们之间的依赖关系。此外,Prism 还提供了一套强大的命令和事件系统,使您可以轻松地实现 MVVM 模式。
阅读全文