我想以编程方式访问静态资源,就像在XAML中一样:
<TextBlock Text="{Binding Source={StaticResource My.Text.Key}}" />
Run Code Online (Sandbox Code Playgroud)
无论我的静态资源是在TextBlock,某些父元素(例如UserControl)甚至应用程序上定义的,这都有效.似乎StaticResource绑定表达式知道如何向上走元素树,或者元素本身如何.我想以编程方式执行相同的操作:
<UserControl x:Class="MyCustomControl" ...>
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources.xaml"/> <!-- Sets 'My.Text.Key' to System.String 'Hello, World!' -->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
</UserControl>
public partial class MyCustomControl
{
public MyCustomControl()
{
InitializeComponent();
string myCustomValue = this.Resources[MyCustomValue] as string; // myCustomValue becomes null!
}
}
Run Code Online (Sandbox Code Playgroud)
即使在这个简单的测试中,我的资源似乎无法以编程方式访问.这是我尝试真正做的简化版本:通过附加自定义动态属性的元素找到静态资源(例如uiElement.Resources [key]).
Noob to Subversion,所以请耐心等待.
有没有办法从命令行获取文件的最后提交日期?
我们的Oracle 9i数据库中有一些物化视图,这些视图是很久以前由一个不再在这里工作的人创建的.是否有一种简单(或任何)方法来确定Oracle是否使用这些视图来提供查询?如果它们不再被使用,我们想要摆脱它们.但是我们不想发现这些观点是允许一些随机报告在不到几个小时内运行的事实.我梦想的答案就像是
SELECT last_used_date FROM dba_magic
WHERE materialized_view_name = 'peters_mview'
Run Code Online (Sandbox Code Playgroud)
更棒的是可以告诉我实际的SQL查询使用物化视图的东西.我意识到我可能不得不满足于此.
如果有一个需要10g的解决方案,我们很快就会升级,所以这些答案也会很有用.
我想知道在一个类中公开一个集合的推荐方法是什么,以及它与使用NHibernate实体时做同样事情的方式有什么不同.
让我解释一下......我的类暴露集合属性时从未遇到过特定的问题:
IList<SomeObjType> MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)
将setter设置为protected或private会让我有时更多地控制我想要处理集合的方式.我最近遇到了Davy Brion的这篇文章:
http://davybrion.com/blog/2009/10/stop-exposing-collections-already/
戴维,显然建议将集合作为IEnumerables而不是让我们说列表,以禁止用户选择直接操作这些集合的内容.我可以理解他的观点,但我并不完全相信,通过阅读他的帖子上的评论,我不是唯一的.
然而,当谈到NHibernate实体时,以他提出的方式隐藏集合是特别有意义的,特别是当级联到位时.我希望完全控制会话及其集合中的实体,并且为集合属性公开AddXxx和RemoveXxx对我来说更有意义.
问题是怎么做?
如果我将实体的集合作为IEnumerables我没有办法向它们添加/删除元素而不通过执行ToList()将它们转换为Lists,这会产生一个新的列表,因此没有任何东西可以持久存在,或者将它们转换为Lists,这很痛苦因为代理和延迟加载.
总体思路是不允许检索实体并直接操作其集合(add.remove元素),但仅通过我公开的方法,同时尊重集合持久性的级联.
非常感谢您的建议和想法.
我有一个托管的WCF服务,我为其创建了一个自定义工厂,这样就可以使用多个主机头:
/// <summary>
/// Required for hosting where multiple host headers are present
/// </summary>
public class MultipleHostServiceFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
List<Uri> addresses = new List<Uri>();
addresses.Add(baseAddresses[0]);
return base.CreateServiceHost(serviceType, addresses.ToArray());
}
}
Run Code Online (Sandbox Code Playgroud)
我很确定我的配置文件现在在客户端和服务器上都是正确的(可以在这里看到).
我得到的错误似乎与工厂有关:
此工厂已启用手动寻址,因此必须预先发送所有发送的消息.
public string GetData(int value) {
return base.Channel.GetData(value);
}
Run Code Online (Sandbox Code Playgroud)
错误发生在行return base.Channel.GetData(value);.
C#中是否有一个很好的开源OCR实现?我试图解决以下问题.我有一个包含框的文档,人们在框中输入他们的ID号.现在我想弄清楚程序中的id号.
谢谢你,巴拉
我正在为产品构建OS X安装程序包.运行时,"选择目标"窗格中有"安装此软件需要X MB空间"标签.但是我可以在同一台机器上运行相同的包两次,并且看到声称的用法不同,即85到127 MB,这两者都不是实际的~65MB产品使用量.
Installer如何计算所需空间?
以下成员表达式类型有时可以是NUllable,我检查它,但是我需要将它转换为非可空类型,
MemberExpression member = Expression.Property(param, something);
var membertype = member.Type;
if (membertype.IsGenericType && membertype.GetGenericTypeDefinition() == typeof(Nullable<>))
{ // convert to not nullable type?...
Run Code Online (Sandbox Code Playgroud)
有谁知道怎么样?
这是我试图弄清楚ActionScript3/Flex中显示对象的内容.假设您有一个显示对象,其注册点位于左上角,您希望从其中心(显示对象的中间)缩放它,您如何使用flash.geom.Matrix类轻松实现此操作
谢谢你的帮助
是否可以调用一个 VBA 函数(在 Access 中),该函数从外部世界获取两个字符串参数(例如从 c# 中,但其他人也会这样做)?
c# ×5
collections ×1
command-line ×1
installer ×1
linq ×1
macos ×1
math ×1
matrix ×1
messages ×1
nhibernate ×1
nullable ×1
ocr ×1
oop ×1
oracle ×1
oracle9i ×1
silverlight ×1
svn ×1
vba ×1
wcf ×1
xaml ×1