当我在我的WPF应用程序中显示JPEG(使用下面的代码)时,它显示比我在Windows Picture Viewer中以实际大小打开JPEG时要小得多.
我已经在运行时钻进了我的ImageSource的属性,我的图像有:
当我使用屏幕标尺来测量图像的WPF显示时,我得到了大约.313x240像素(如果我可以完美地定位标尺,则可能等于ImageSource报告的宽度和高度.).
我的直觉告诉我这与WPF使用独立于设备的单位(而不是像素)有关,但我无法理解它,我仍然需要知道如何以'实际'尺寸显示图像543x713在我的申请中.
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300">
<StackPanel>
<Image Source="Image15.jpg" Stretch="None" />
</StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种投票算法,根据大多数选票和投票数来选出获胜者.
真人生活的例子:
我们公司有一个谷物棒.我们有3种不同谷物的空间.我们希望允许我们的员工对他们想要的谷物进行投票.
我们不希望根据受欢迎程度严格挑选前3名获奖者,因为可能会有少数员工只能吃1种特定谷物(无论出于何种原因),我们希望尽可能给予他们特殊津贴.
鉴于以下投票结果,以下是我们希望算法给出的结果.

我正在寻找一种能够进行这种排名的算法.如果你至少可以提供我正在寻找的名称那将是一个很大的帮助,因为我可以更好地搜索它.:)
谢谢!
我想在PowerShell提示符中包含Mercurial/Git repo状态.有时这会prompt()大大减慢功能,导致漫长的等待直到你可以开始输入shell.我想知道,是否有可能更新提示异步?
理想情况下它会:
Write-Host 当前目录(典型提示)prompt尚未再次调用,请将回购状态插入提示中.有没有人这样做过?
我有一个带有图像的Viewbox.这很好,因为Viewbox会缩放图像以适应窗口.但是,我需要能够将图像缩放到其完整大小并显示滚动条,我很难弄清楚如何执行此操作.
这就是我现在所拥有的.任何人都可以指出我如何修改它来实现上述功能?
<Viewbox x:Name="viewbox">
<StackPanel>
<Image x:Name="image" Source="ranch.jpg" />
</StackPanel>
</Viewbox>
Run Code Online (Sandbox Code Playgroud)
编辑:只是为了澄清.我需要两种方式来查看图像,适合窗口的视图框样式以及切换到显示滚动条但不调整图像大小的实际大小视图的功能.
我有一个使用 Microsoft Access 数据库作为后端的程序。每当程序更新特定表/字段时,我都需要执行一些 VBA 代码(调用 Web 服务)。我认为这就像 SQL Server 中的触发器一样工作。
是否可以在 Access 中监视此类更改并对其采取行动?
更新 有问题的程序不在 Access 内部运行(即不是 VBA 应用程序),它只是使用 MDB 文件作为其后端存储。不幸的是,我无权访问该程序的代码,因为它是一个封闭的第三方应用程序。
当我尝试使用SQL Server 2008中的Invoke-Sqlcmd cmdlet来执行包含脚本变量的查询时,例如.$(MyVar),我收到以下异常:
Invoke-Sqlcmd:对象引用未设置为对象的实例.
这是我正在尝试运行的代码(这是从联机丛书示例中复制/粘贴,只添加了连接参数).
$MyArray = "MyVar1 = 'String1'", "MyVar2 = 'String2'"
Invoke-Sqlcmd -Query "SELECT `$(MyVar1) AS Var1, `$(MyVar2) AS Var2;" -Variable $MyArray -ServerInstance "localhost" -Database "master" -UserName "who" -Password "me"
Run Code Online (Sandbox Code Playgroud)
如果我更换$(MyVar1),并$(MyVar2)在-Query同'x'和'y',然后它运行完美.
$MyArray = "MyVar1 = 'String1'", "MyVar2 = 'String2'"
Invoke-Sqlcmd -Query "SELECT 'x' AS Var1, 'y' AS Var2;" -Variable $MyArray -ServerInstance "localhost" -Database "master" -UserName "who" -Password "me"
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么这不起作用?
我有一个非常简单的服务器模型,其中包含一个父实体,其中包含子实体的[Composition]列表.在我的客户端,我有2个功能.一个函数从父项中删除所有子实体,另一个函数删除所有子实体,并在父实体上编辑属性.
当我简单地删除所有子实体和SubmitChanges()时,一切都很好.
当我删除所有子实体并编辑父实体和 SubmitChanges()时,在触发SubmitChanges()回调时仍有待更改(HasChanges == true).
我正在使用Silveright 4 RTM和RIA Services 1.0 RTM.
有什么想法在这里发生了什么?
以下是服务器实体:
public class RegionDto
{
public RegionDto()
{
Cities = new List<CityDto>();
}
[Key]
public int Id { get; set; }
public string Name { get; set; }
[Include]
[Composition]
[Association("RegionDto_CityDto", "Id", "RegionId")]
public List<CityDto> Cities { get; set; }
}
public class CityDto
{
[Key]
public int Id { get; set; }
public int RegionId { get; set; }
public string Name { …Run Code Online (Sandbox Code Playgroud) InterWorks将Workbook SDK作为其适用于Tableau产品的Power Tools的一部分.有谁知道他们是如何做到这一点的?SDK可以在没有Tableau Server的情况下访问工作簿,因此我认为它不是JavaScript或REST API.
如何通过双击EXE(或快捷方式)来判断用户是否已启动我的控制台应用程序,或者是否已打开命令行窗口并在该会话中执行我的控制台应用程序?
我正在尝试将一个NSString值复制NSMutableArray到一个新变量中.NSString stringWithString返回一个NSString与我的数组中的对象相同的内存地址.为什么?
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSMutableArray *arr = [NSMutableArray arrayWithObject:@"first"];
NSLog(@"string is '%@' %p", [arr objectAtIndex:0], [arr objectAtIndex:0]);
// copy the string
NSString *copy = [NSString stringWithString:[arr objectAtIndex:0]];
NSLog(@"string is '%@' %p", copy, copy);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) PowerShell 脚本模块有没有办法在删除时运行一些代码?
例子:
Import-Module my-module.psm1
Remove-Module my-module
# At this point I want my-module.psm1 to be notified
# that it is being unloaded so it can run some clean up code.
Run Code Online (Sandbox Code Playgroud)
我当前的用例是一个添加断点的模块,我希望它Remove-PSBreakpoint在模块被删除时调用,这样它就不会在范围内留下混乱。
当我尝试向我的EntitySet添加一个新项目时,我遇到了这个异常:
此EntitySet中已存在具有相同标识的实体
但是,当我检查EntitySet时,它的计数为0.
任何想法为什么我会在集合为空时收到此错误?如果集合中没有项目,那么集合中如何已存在实体?
UPDATE
我把它缩小了一点.只有在我将项目添加到集合中,删除它,然后重新添加它时才会发生这种情况.即使该项不在EntitySet中,它仍然以某种方式记住它.我该怎么做让它忘记?
更新:以下是涉及的类和逻辑的一些代码片段.
服务器实体:
public class PhotoDto
{
[Key]
[Editable(false)]
public int Id { get; set; }
/* clip */
[Include]
[Association("Photo_Destination", "Id", "PhotoId")]
public EntitySet<PhotoDestinationDto> Destinations { get; set; }
}
public class PhotoDestinationDto : BaseDestionationDto
{
[Key]
[Editable(false, AllowInitialValue = true)]
public int PhotoId { get; set; }
[Key]
[Editable(false, AllowInitialValue = true)]
public bool IsAnnotated { get; set; }
[Key]
[Editable(false, AllowInitialValue = true)]
public int DropZoneId { get; set; }
} …Run Code Online (Sandbox Code Playgroud) 运行以下ruby脚本时:
puts gets.inspect
在终端上,我被提示输入,然后显示inspect输出,但如果我使用CMD+R快捷方式从TextMate内部运行相同的脚本,那么它只是输出nil,好像没有gets方法.
为什么是这样?从我所读到的内容,当脚本请求STDIN的输入时,TextMate应该显示一个输入对话框,但在这种情况下不会发生这种情况.
powershell ×3
image ×2
silverlight ×2
wpf ×2
.net ×1
algorithm ×1
c# ×1
command-line ×1
console ×1
ms-access ×1
nsstring ×1
objective-c ×1
ruby ×1
sizing ×1
sql-server ×1
tableau-api ×1
textmate ×1
vba ×1
voting ×1
zoom ×1