我在我的应用程序中实现了皮肤.应用程序加载其Brushes.xaml资源字典,该字典使用驻留在特定于皮肤的资源字典中的颜色.因此,根据所选皮肤,仅加载一个Color.xaml.
皮肤特异性Color.xaml
<Color x:Key="TextBoxBackgroundColor">#C4AF8D</Color>
<Color x:Key="TextBoxForegroundColor">#6B4E2C</Color>
<Color x:Key="ToolBarButtonForegroundColor">#6B4E2C</Color>
Run Code Online (Sandbox Code Playgroud)
Brushes.xaml:
<SolidColorBrush
x:Key="TextBoxBackground"
Color="{DynamicResource TextBoxBackgroundColor}" />
<SolidColorBrush
x:Key="TextBoxForeground"
Color="{DynamicResource TextBoxForegroundColor}" />
Run Code Online (Sandbox Code Playgroud)
如您所见,多种颜色(TextBoxForegroundColor和ToolBarButtonForegroundColor)是相同的.我想绕过它,因为它变得越来越混乱,特别是因为使用的颜色不能通过它们的十六进制值识别.您现在可以建议将两种颜色合并为一种,但我有一些皮肤,其中TextBoxForegroundColor与ToolBarButtonForegroundColor不同.
我想做的是这样的事情:
<Color x:Key="DarkBrown">#C4AF8D</Color>
<Color x:Key="TextBoxBackgroundColor" Color={StaticResource DarkBrown} />
<Color x:Key="ToolBarButtonForegroundColor" Color={StaticResource DarkBrown} />
Run Code Online (Sandbox Code Playgroud)
这在Xaml中是否可行?我找不到办法.
你们中的任何人都知道一个库,用于表示和计算C#或F#中的烹饪单位(Cup,Tablespoon,Gallon ......)(特别是关于文化,公制/英制)?
在WPF和WinRT中,众所周知行为不能可靠地调用它们的Detach方法.避免内存泄漏的唯一方法是订阅AssociatedObject的Unloaded事件并取消挂起所有事件(示例).
到目前为止它的作用.
但我意识到(就像其他评论我链接的博客条目的人一样),以这种方式,卸载的行为永远不会再次附加.以MenuFlyout为例.如果有一个附加到MenuFlyoutItem的行为,则在关闭MenuFlyoutItem时将其卸载.如果再次打开菜单,则不会重新连接.
其他UserControl也会发生这种情况.当我在WinRT应用程序中从一个页面导航到另一个页面时,我"失去"行为,然后再次返回,尽管所有控件都重新创建.我没有看到如何在WinRT应用程序中使用它们,其中通过导航重新创建了许多控件.
有没有已知的解决方案?
是否有任何支持(或可以制作)可移植类库的 IoC容器?
我摆弄了一些(SimpleInjector,AutoFac)但它们总是有一个依赖或另一个依赖,这阻止我将它们用作可移植类库.
我对这个话题很新,所以我可能完全走错了路.
更详细:
我想为MMVM应用程序创建一个包含我的模型(以及后来的viewmodels)的库,该应用程序应该运行在.Net 4.5,WP7和WinRT上.此模型应该可以保存为文件.由于特定保存算法(桌面文件系统,隔离存储)的实现特定于每个平台,我希望利用IoC容器将其与模型本身分离.
当我编译启用了.Net Native Toolchain的UWP应用程序时,我遇到了非常糟糕的性能.
我描述了正在运行的代码(本机),似乎依赖于反射的方法(Unity IoC,Behaviors-SDK,Linq,sqlite-net)是罪魁祸首.
到目前为止我使用Default.rd.xml.
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
<Application>
<Assembly Name="*Application*" Dynamic="Required All" />
</Application>
</Directives>
Run Code Online (Sandbox Code Playgroud)
到目前为止我没有MissingMetaDataExceptions.这些仅在我删除Application行时按预期开始.
有没有我在这里看到的东西?该应用程序具有非常好的性能,没有.Net Native.它是否有帮助如果我从头开始编写Default.rd.xml来处理将要出现的所有MissingMetaDataExceptions?
如果我想让Delphi Win32应用程序使用.Net webservice,我有哪些选择?
是否有可能直接互动?或者我是否必须使用中间人 - 软件与每个COM的Delphi应用程序进行通信?
有问题的Delphi应用程序是用Delphi 2006编写的,但计划很快更新到Delphi XE.
可能重复:
我可以拆分Mercurial存储库吗?
我有一个包含多个项目的Mercurial存储库(当我开始使用Mercurial时,这似乎是一个好主意......).
是否可以将项目/文件夹转换为其历史记录完整的新存储库?
提前致谢.