我试图在Adobe Lightroom(http://www.youtube.com/watch?v=87hNd3vaENE)中创建类似于Lights out/lights dim功能的效果,但在WPF中除外.
我尝试的是在现有窗口的顶部创建另一个窗口,使其透明并在其上放置半透明的Path几何体.但我希望鼠标事件能够通过这个半透明窗口(在下面的窗口上).
这是我所拥有的简化版本:
<Window x:Class="LightsOut.MaskWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
AllowsTransparency="True"
WindowStyle="None"
ShowInTaskbar="False"
Topmost="True"
Background="Transparent">
<Grid>
<Button HorizontalAlignment="Left" Height="20" Width="60">click</Button>
<Path IsHitTestVisible="False" Stroke="Black" Fill="Black" Opacity="0.3">
<Path.Data>
<RectangleGeometry Rect="0,0,1000,1000 "/>
</Path.Data>
</Path>
</Grid>
Run Code Online (Sandbox Code Playgroud)
窗口是完全透明的,因此在路径未覆盖的位置,鼠标事件直接通过.到现在为止还挺好.路径对象上的IsHitTestvisible设置为false.因此鼠标事件将通过它传递到同一表单上的其他控件(即,您可以单击Button,因为它位于同一表单上).
但是鼠标事件不会通过Path对象传递到它下面的窗口.
有任何想法吗?还是更好的方法来解决这个问题?
谢谢.
当我部署我的网站时,我需要:
使网站脱机.
运行sql来更新数据库.
更新网站.
将网站重新上线
我想尽可能多地编写脚本,而不必去服务器并进行手动更改.
我目前正在使用WebDeploy来推动我的网站更改.它工作得很好,我不必确切知道我的网站在服务器上的安装位置.
那么放置/删除app_offline文件的最佳方法是什么?如果已经看到一些使用msbuild脚本重命名现有文件(app_offline.htm_)的解决方案.但似乎这需要我知道这个文件的位置.
有没有办法通过web_deploy来做到这一点?
谢谢
我有一些非常蹩脚的Csv文件我需要解析.我正在使用CsvHelper,它工作得很棒.除了我有一些行有空格的地方,我有一个双倍的正常.
文件:
文本,SomeDouble,MoreText
"好",1.23 "好"
"坏","坏"
如果我尝试将其映射到
public class Test
{
[CsvField(Name = "Text")]
public string Text { get; set; }
[CsvField(Name = "SomeDouble")]
public double? SomeDouble{ get; set; }
[CsvField(Name = "MoreText")]
public string MoreText{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后我得到这样的错误:
CsvHelper.CsvReaderException:尝试读取类型记录时发生错误
行:'2'(从1开始)
场指数:'1'(基于0)
字段名称:'SomeDouble'
场地价值:''
System.Exception:不是Double的有效值.---> System.FormatException:输入字符串的格式不正确.
处于System.ComponentModel.DoubleConverter.FromString(String value,NumberFormatInfo formatInfo)的System.Number.ParseDouble(String value,NumberStyles options,NumberFormatInfo numfmt),位于System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context,CultureInfo culture,Object value) - - 内部异常堆栈跟踪的结束---在lambda_method的System.ComponentModel.NullableConverter.ConvertFrom(ITypeDescriptorContext context,CultureInfo culture,Object value)处的System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context,CultureInfo culture,Object value)处闭包,ICsvReader)在CsvHelper.CsvReader.d__0`1.MoveNext()
在我看来,我的选择是创建一个自定义解析器,或将我的值映射到字符串属性并在那里进行解析.
还有其他选择吗?
如果我可以配置我想将空格视为空,那将是很好的.
根据要求,这是一个重现问题的代码示例
static class Program
{
public class Test
{
[CsvField(Name = …
Run Code Online (Sandbox Code Playgroud) 我有一个 Rails 初始化程序,它设置了 Big Decimal 的限制
BigDecimal.limit(20)
Run Code Online (Sandbox Code Playgroud)
这被执行并且似乎正确设置了限制。
但是当 Web 请求进来时(我使用的是 Puma),处理请求的线程似乎没有设置限制。限制设置为 0,这是默认值。
还有其他地方我应该设置限制吗?
如果你想重现:
创建一个全新的 rails 应用程序并添加一个设置限制的初始化程序
BigDecimal.limit(20)
puts "*** Set #{BigDecimal.limit}"
Run Code Online (Sandbox Code Playgroud)
在您的应用程序控制器中添加
before_action :check_big_decimal
def check_big_decimal
puts "***request #{BigDecimal.limit}"
end
Run Code Online (Sandbox Code Playgroud)
启动您的服务器,刷新页面并发出请求
您应该看到它设置为 20,但是当请求进来时它又回到 0。