问题标签 [catel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1360 浏览

c# - Catel MVVM 结构

我有一个简单的 WPF 应用程序,我使用 Catel (3.5) 框架来使用 MVVM。Visual Studio 中 Catel 的默认结构是:

我想将结构更改为

通过这种方式,我完全分离了 M-VM-V 并添加了参考。

我知道如果遵循命名约定,Catel 会自动扫描项目以查找 Viewmodel。

我无法在第二个结构上完成这项工作,任何建议都会被预处理。

编辑1:我在 App.xaml.cs 中添加了以下代码

这对我不起作用,我不知道为什么。我确定我的程序集名称是正确的并且我以ViewModel结束我的类名。

编辑2:如果我添加以下代码,该应用程序可以工作:

但是我仍然想知道为什么当我添加 NamingConvention 时它不起作用。

0 投票
1 回答
233 浏览

c# - Catel(MVVM 框架)[AS] 不返回正确的程序集名称

我正在试验并试图了解 Catel 框架。

我知道 Catel 有一个命名约定来注册视图和视图模型。根据文档[AS]约定,应替换为程序集名称。这不是我的情况,我必须手动编写程序集名称,如下所示:

以下代码对我不起作用:

更多信息(如果有帮助):

上面的所有代码都放在App.xaml.cs

我将 viewModel 作为单独的程序集加载:

总而言之,我怎样才能使这个例子符合[AS]约定。

我猜:

我的猜测是 viewLocator 正在寻找错误的程序集。可能在同一个程序集中寻找视图模型。

如果这是正确的,我该如何更改viewLocator它在正确的程序集中搜索?

0 投票
1 回答
922 浏览

c# - Catel(MVVM 框架) ObservableCollection

我正在使用Catel来实现 WPF 应用程序。

我有一个从ObservableCollection每次插入项目时扩展的类 UI 必须更新。

代码(简化版):

到目前为止,我一直在使用BindingOperations.EnableCollectionSynchronization,它仅在 .NET 4.5 中可用。不幸的是,我必须使用 .Net 4 编译代码。

我想知道,Catel 框架中是否有任何东西可以解决此类问题。

更多信息:

对于这个应用程序性能是主要问题,因为我向集合中添加了许多项目。

更新:

usingFastObservableCollection解决了这个问题,但是一旦我停止使用,UI 就会冻结大约 5-7 秒。我的猜测是,这是由Dispatcher

我已经手动覆盖了OnCollectionChanged

这不是一个好的解决方案。有没有更好的方法来避免这个问题?

0 投票
1 回答
350 浏览

mvvm - Catel 框架调试错误

我正在尝试通过让最简单的 Catel 裸机示例在 VS Express 2012 上工作并不断出错来学习 Catel MVVM。我认为我的问题在于我的“使用”语句、引用或 XAML 中的标头。一个自动生成的文件在 MainWindow.g.cs 中写入了如下所示的违规行。代码文件非常短,因此我将它们包含在内。

模型、视图模型和视图在一个解决方案下分为三个项目。

  • 型号- 暂时空白
  • ViewModel -MainWindowViewModel(还没有属性)
  • 查看-MainWindow.xmal、MainWindow.xmal.cs(还没有控件或属性)

    我不断收到以下警告并伴有错误:

    'c:...\MainWindow.g.cs' 中的类型 'Catel.Windows.DataWindow' 与 'c:...\Catel.MVVM.dll' 中的导入类型 'Catel.Windows.DataWindow' 冲突。使用 'c:...\MainWindow.g.cs' 中定义的类型。

    和错误:

    Catel.Windows.DataWindow < ViewModels.MainWindowViewModel > 已过时:'请改用'Catel.Windows.DataWindow'。将在版本“4.0”中删除。C:...\MyFirstCatel\obj\Debug\MainWindow.g.cs

    主窗口.xaml

    主窗口.xaml.cs

    MainWindowViewModel.cs

    在 MainWindow.g.cs

    }

  • 0 投票
    0 回答
    695 浏览

    wpf - 注册 CustomViewModelFactory 后构建需要大量时间

    我正在使用惊人的 catel mvvm 框架。但是我在注册 CustomViewModelFactory 时遇到了问题:当我在 App.xaml.cs 中添加此代码时,构建变得缓慢(1 分钟)。

    我可以减少这个时间吗?

    更新:我比较了输出,发现输出几乎相等(就包含的 .exe 和 dll 而言)差异是按顺序排列的,并且在这样的条目中:线程“”(0x1e68)已退出,代码为 0(0x0)。

    缓慢的构建输出:

    快速构建输出

    0 投票
    1 回答
    567 浏览

    entity-framework - 实体框架可以成为 Catel 框架中的“模型”吗?

    希望有人能把事情弄清楚。在下面的 ViewModel 中,使用 Entity Framework 作为我的模型是否消除了使用 [Model] 和 [[ViewModelToModel(...)] 属性的需要?无论有没有它们,代码都运行相同,因为视图中的绑定会忽略它们并绑定到 ObservableCollection。

    注释?

    }

    0 投票
    1 回答
    266 浏览

    entity-framework-4 - Catel Extensions EntityFramework5

    我将 Catel Extensions EntityFramework5 用于存储库和工作单元模式。我正在尝试为派生类 DailyMacroValue 实现存储库,其中 DailyMacroValue :DailyPrice

    有代码:

    一旦我试图获取存储库,我就会得到 excelption:

    在 System.Linq.Enumerable.First[TSource](IEnumerable 1 source, Func2 predicate) at Catel.Data.DbContextExtensions.<>c_DisplayClass5.b _3 () 在 c:\Source\Catel\src\Catel.Extensions.EntityFramework5\Catel。 Extensions.EntityFramework5.NET40\Extensions\DbContextExtensions.cs:第 116 行

    我确定这不是正确的实现方式,有没有人有继承实现的参考?

    更多信息:
    消息
    序列不包含匹配的元素
    堆栈跟踪

    在 Catel.IoC.TypeFactory.TryCreateWithConstructorInjectionWithParameters(Type typeToConstruct, ConstructorInfo constructorInfo, Object[] 参数) 在 c:\Source\Catel\src\Catel.Core\Catel.Core.NET40\IoC\TypeFactory.cs:402 行在 Catel .IoC.TypeFactory.CreateInstanceWithParameters(Type typeToConstruct, Object[] 参数) 在 c:\Source\Catel\src\Catel.Core\Catel.Core.NET40\IoC\TypeFactory.cs:Catel.Data.UnitOfWork 的第 243 行。 GetRepositoryTEntityRepository in c:\Source\Catel\src\Catel.Extensions.EntityFramework5\Catel.Extensions.EntityFramework5.NET40\Data\UnitOfWork.cs: DDServices.DALQuateService.GetQuatesForSingelByDates(Int32 companyEquetyID, DateTime dtFrom, DateTime dtTo) 中的第 186 行c:\Dev\ASIF\DDServices\DALQuateService.cs: DDServices.DALQuateService.ConcatPreviouseDateForSplit(CompanyEquityDailyPrice item) 中的第 242 行:\Dev\ASIF\DDServices\DALQuateService.cs: DDServices.DALQuateService.SaveCompanyEquitiesHistoricalDailyPricesData(List`1 dailyPrices, Boolean forceBackUpdate) 中的第 160 行:\Dev\ASIF\DDServices\DALQuateService.cs:第 83 行

    10 倍,罗尼

    0 投票
    1 回答
    73 浏览

    mvvm - winRT catel 示例无法运行

    我在尝试运行 catel WinRt 示例时遇到了问题。当我尝试调试 Catel.Examples.WinRT.Advanced VS 2012 时抛出异常

    Failed to create the delegate. Probably the wrong type of EventArgs is used and does not match the EventHandler<TEventArgs>

    怎么了?

    我的配置:win8,vs 2012,catel 3.6

    0 投票
    1 回答
    323 浏览

    mvvm - Catel MVVM xctk:PropertyGrid = 错误

    将 Catel Framework 与 Xceed.Wpf.Toolkit.PropertyGrid 一起使用时出现错误。错误在于,如果我从 ViewModelBase 继承,PropertyGrid 是不可见的自定义属性如果我从 ModelBase 继承,则一切正常

    这段代码工作得很好

    但是这段代码不起作用

    XAML

    0 投票
    1 回答
    538 浏览

    wpf - Catel ViewToViewModel 属性

    非常感谢你的帮助。

    我试图通过一个小例子来理解 ViewToViewModel 属性。我有几个问题。我的代码如下。

    1. [ViewToViewModel] 属性是否应该放置在 View、ViewModel 或两者中?

    2. 如果我尝试使用属性 MappingType,例如:[ViewToViewModel, MappingType = ...] MappingType 会给我一个错误。我是否缺少“使用”语句/程序集参考?有语法的例子吗?

    3. 我能够让事情按照我需要的方式工作,但我认为我没有让“ViewToViewModel”部分正常工作。在用户控件的代码隐藏中,属性更改在 HandleMyName(object e) 中处理。ViewToViewModel 应该这样做吗?

    意见:

    • 主窗口
    • 用户控制视图

    视图模型:

    • 主窗口视图模型
    • 用户控制视图视图模型

    主窗口

    .

    用户控件视图.xaml

    UserControlView.xaml.cs

    用户控制视图模型.cs

    }