Tag: c# 4.0

在Aero上覆盖WPF中的按钮背景

因此,希望很简单,将按钮的背景更改为LightGreen,当鼠标光标hover在其上时为绿色,按下时将DarkGreen更改为DarkGreen。 以下XAML是我的第一次尝试: Hello 但是,唉,这不起作用。 我们只是实现目标的1/3。 是的,按钮变为浅绿色,但只要将鼠标hover在按钮上或按下它,您就会获得相应按钮状态的标准Aero镀铬。 不想放弃,我尝试以下放荡: … Hello … 现在我们已经从Aero.NormalColor.xaml中获得了整个friggin’控制模板。 唉,这没什么改变。 然后我从Microsoft_Windows_Themes:ButtonChrome元素中删除两个属性( RenderPressed和RenderMouseOver )。 不过,没有变化。 然后我删除Button的Background属性的设置,只留下PresentationFramework.Aero程序集的名称空间声明: … Hello … 最后,我们取得了进展。 我们已经从1/3的要求变为2/3,IsMouseOver和IsPressed工作,但在按钮的正常状态(没有被碾压或按下)时没有浅绿色背景,因为我已经删除了按钮的Background属性,以使其他两个状态应用并可见。 现在,在这个疯狂的XAML无法让我们获得正常按钮状态的LightGreen背景之后,我修改了样式以在那里抛出背景颜色: <Button xmlns… <ControlTemplate… … 最后,它按预期工作。 我是疯了,还是这些(以及更多)你必须通过Aero主题来改变一个按钮的背景颜色(正常,hover,按下)? 也许,如果我不必将整个dang ButtonTemplate包含在那里,只是为了从中删除两个属性( RenderMouseOver和RenderPressed ),生活就不会那么糟糕。 谢谢你的帮助 – 我结束了。 更新:但等待还有更多。 而不是从控件模板中删除RenderMouseOver和RenderPressed属性,只需从以下位置更改它们: <Microsoft_Windows_Themes:ButtonChrome SnapsToDevicePixels="true" … RenderMouseOver="{TemplateBinding IsMouseOver}" RenderPressed="{TemplateBinding IsPressed}" … 至: <Microsoft_Windows_Themes:ButtonChrome SnapsToDevicePixels="true" … RenderMouseOver="{Binding IsMouseOver}" RenderPressed="{Binding IsPressed}" … […]

获取自定义程序集属性而不加载到当前AppDomain中

我创建了一个小应用程序来递归加载提供的目录中的程序集并读取它们的自定义属性集合。 主要是阅读DebuggableAttribute来确定IsJITTrackingEnabled和IsJITOptimizerDisabled的设置,以确定程序集是否针对发布进行了优化。 我当前的代码执行Assembly.LoadFrom以传递到程序集的整个路径并加载它。 然后在程序集上执行GetCustomAttributes以获取debuggable属性。 问题是每个程序集都加载到当前的appdomain中。 因此,如果另一个文件夹使用相同的程序集,它只使用最初加载的引用。 我希望能够加载程序集,读取我需要的属性,然后卸载它。 我尝试创建一个新的appdomain并将程序集加载到其中然后卸载程序集后跟无济于事。 我知道这一定是可能的,但我不知所措。 任何帮助将不胜感激。 我很乐意提供您可能需要的任何其他信息。

什么是ASP.NET中的CRON作业? – C#

在PHP我们有CRON作业,托管服务器根据给定的时间表自动选择并执行任务。 什么是在ASP.NET用于CRON作业的好方法? 我想使用Web服务,但这在共享托管环境中不起作用。 任何帮助将不胜感激,请在共享托管环境中建议一种方法。

.NET类库项目中的多个App.Config文件

我正在创建一个类库项目。 现在默认情况下,我有一个App.Config文件,以便我将所有特定于环境的数据放在该Config文件中。 现在基于环境(无论开发/测试/生产),我计划在VS 2010中有三个App.Config文件,例如 App.Dev.Config App.Test.Config App.Prod.Config 想知道应用程序将如何知道要使用哪个配置文件。 有人实现了这个场景。 任何代码样本/文章都会有所帮助。 谢谢

如何防止Debug.Assert(…)显示模式对话框

我有几个使用Debug.Assert(…)的库。 我认为Debug.Assert(…)很好,我仍然希望它们执行,但我不希望它们阻止我的应用程序的执行。 理想情况下,我只希望他们在某处登录。 鉴于我无法更改库的代码(我仍然希望在调试中编译并运行断言),如何防止Debug.Assert(…)显示模式对话框? 另外,我想确保在Assert发生时主程序继续(与Ignore按钮相同的行为)。 谢谢!

Linq:按年和月分组,并管理空月

我有以下Linq按年分组,然后按月分组。 var changesPerYearAndMonth = list .GroupBy(revision => new { revision.LocalTimeStamp.Year, revision.LocalTimeStamp.Month }) .Select(group => new { GroupCriteria = group.Key, Count = group.Count() }) .OrderBy(x => x.GroupCriteria.Year) .ThenBy(x => x.GroupCriteria.Month); 我目前的输出如下: Year 2005, month 1, count 469 Year 2005, month 5, count 487 Year 2005, month 9, count 452 Year 2006, month 1, count 412 Year […]

C#2.0,3.0和4.0中的新function列表

我在.NET 1.1项目上工作了很长时间,我被困在C#1.0,​​现在我想赶上最新最好的。 Google在C#v2.0中返回了很多关于新function的信息,但对于版本3和版本4,我只发现了部分信息。 互联网上是否存在某些列表,列出了在v2.0,v3.0和v4.0中引入的所有新function?

如何访问Task.Factory.StartNew中的HttpContext.Current?

我想在我的asp.net应用程序中访问HttpContext.Current Task.Factory.Start(() =>{ //HttpContext.Current is null here }); 我该如何解决这个错误?

更好的PropertyChanged和PropertyChanging事件处理

我正在为我们的应用程序实现观察者模式 – 目前正在使用RX Framework。 我目前有一个看起来像这样的例子: Observable.FromEventPattern(Instance.Address, “PropertyChanged”) .Where(e => e.EventArgs.PropertyName == “City”) .ObserveOn(Scheduler.ThreadPool) .Subscribe(search => OnNewSearch(search.EventArgs)); (我有一个类似的“PropertyChanging”) EventArgs不会给我太多。 我想要的是EventArgs的扩展,它使我能够查看先前和新值,以及在“更改”侦听器中标记事件的能力,以便实际上不会持续更改。 如何才能做到这一点? 谢谢。

使用C#设计模式

我打算在工作中学习C# – 一个中等复杂的(2000行代码)项目。 我有兴趣在整个过程中选择“设计模式”。 任何人都可以建议一本不会承担太多c#专业知识并教授设计模式的书吗? 如果这本书不是专门用于设计模式,那就没关系(它可能是章节之一)。