有没有人有任何使用MVVM(Prism)显示窗口对话框的例子? - 例如,执行命令时的配置设置窗口.
我见过的所有例子都使用了很好的中介模式,但是他们也都在视图模型中引用了一个不理想的视图(我们使用的是DataTemplates)
谢谢
鉴于我有一个shell应用程序和一些使用Microsoft CompoisteWPF(Prism v2)的独立模块项目......
在接收命令时,模块创建新的ViewModel并通过区域管理器将其添加到区域.
var viewModel = _container.Resolve<IMyViewModel>();
_regionManager.Regions[RegionNames.ShellMainRegion].Add(viewModel);
Run Code Online (Sandbox Code Playgroud)
我想我可以在模块中创建一个资源字典并设置一个数据模板来显示已加载的视图模型类型的视图(参见下面的xaml).但是当视图模型添加到视图中时,我得到的只是打印出的视图模型命名空间.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:Modules.Module1.ViewModels"
xmlns:vw="clr-namespace:Modules.Module1.Views"
>
<DataTemplate DataType="{x:Type vm:MyViewModel}">
<vw:MyView />
</DataTemplate>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
编辑:
我可以通过添加到App.xaml来实现它
<Application.Resources>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/Module1;component/Module1Resources.xaml"/>
<ResourceDictionary Source="pack://application:,,,/Module2;component/Module2Resources.xaml"/>
</ResourceDictionary.MergedDictionaries>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)
这很好,但这意味着在创建新模块时,需要添加App.xaml文件.我正在寻找的是模块的一种方式,因为它们加载动态添加到Application.Resources.这可能吗?
尝试使用paperclip和s3存储上传图像时出现以下错误.该应用程序在本地上传工作正常,但当我进行必要的更改以使用s3时,我得到以下内容:
ImagesController中的NameError #create
未初始化的常量AWS :: S3 :: Base
的Gemfile
source 'http://rubygems.org'
gem 'rails', '3.1.3'
gem 'sqlite3'
group :assets do
gem 'sass-rails', '~> 3.1.5'
gem 'coffee-rails', '~> 3.1.1'
gem 'uglifier', '>= 1.0.3'
gem 'dynamic_form'
end
gem 'aws-sdk'
gem 'paperclip'
Run Code Online (Sandbox Code Playgroud)
车型/ Image.rb
class Image < ActiveRecord::Base
has_attached_file :file,
:styles => {
:featured => "970x560>",
:thumb => "192x112>"
},
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/amazon_s3.yml"
end
Run Code Online (Sandbox Code Playgroud)
配置/ amazon_s3.yml
bucket: myapp-dev
access_key_id: ####################
secret_access_key: ################################
Run Code Online (Sandbox Code Playgroud)
捆绑的宝石:aws-sdk(1.2.5)回形针(2.4.5)导轨(3.1.3)
将自定义成员资格提供程序与Orchard集成的首选方法是什么?
我已经看到几个关于实现新的IMembershipService和IUserService(来自Orchard.Users)的帖子,然后还有其他模块,比如OpenAuthentication,它们似乎做了很多(但仍使用UserPart ??).
我们已经编写了一个ASP.NET成员资格提供程序,可以按原样集成吗?
给定一个Vehicle类和一个VehicleProperty类......
public class Vehicle
{
public virtual int Id { get; protected set; }
public virtual string Registration { get; set; }
private List<VehicleProperty> _properties = new List<VehicleProperty>();
public virtual IEnumerable<VehicleProperty> Properties
{
get { return _properties; }
protected set{ _properties = new List<VehicleProperty>(value);}
}
public virtual void AddProperty(string name, string value)
{
_properties.Add(new VehicleProperty {Name = name, Value = value});
}
}
public class VehicleProperty
{
public virtual string Name { get; set; }
public virtual string Value { …Run Code Online (Sandbox Code Playgroud)