当页面的datacontext用于其他绑定时,如何绑定到WPF依赖项属性?(简单问题)
这不是一个"问题"所以我正在制作CW.
该
assert
Run Code Online (Sandbox Code Playgroud)
关键字很棒!
它应该让你觉得你的自己对你编写的代码更有信心,但是,直到今天,当我创建一个小型测试类(<20行)时,我意识到自从它被引入以来从未使用它.
哎呀!我几乎没有使用记录器,这确实非常有用,但直到今天我才意识到我不使用断言.
你使用断言吗?如果不是,那是什么原因?
我有一张有田地的桌子Description.我想确保没有两行具有相同的"描述",但我无法将描述写入我的标识列(我的ID列是一个int).
设置Description为第二个主键是否安全(除了我的ID已经是主键)?
我将从代码中解释我的场景开始:
public class A { }
public class B : A { }
public class C : B { }
public class D { }
public class Test
{
private A a = new A ( ) ;
private B b = new B ( ) ;
private C c = new C ( ) ;
private D d = new D ( ) ;
public Test ( )
{
// Evaluates to "false"
if ( a.GetType == typeof(B) ) …Run Code Online (Sandbox Code Playgroud) 我想知道是否有人有很好的资源来阅读或编码试验"自动完成"
我想知道自动完成背后的理论是什么,从哪里开始常见的错误等等.
我发现像Enso,Launchy,Google Chrome甚至tcsh这样的产品表现出令人着迷的自动完成方式,我开始自我只是为了好奇一些示例代码而且我得出结论这必须是之前广泛探索过的领域.
如果有人分享有关如何实现这一点的任何好的技术资源,我将不胜感激.
提前致谢.
无论斜率如何,我都试图绘制一条柔和边缘的线条.
这是我到目前为止的代码:
<Line HorizontalAlignment="Stretch" VerticalAlignment="Center"
Stretch="Uniform" StrokeThickness="5" X1="0" Y1="0" X2="1" Y2="0">
<Shape.Stroke>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="Transparent" Offset="0" />
<GradientStop Color="Green" Offset="0.5" />
<GradientStop Color="Transparent" Offset="1" />
</LinearGradientBrush>
</Shape.Stroke>
</Line>
Run Code Online (Sandbox Code Playgroud)
这对我来说很有意义,因为线条是水平的,线性渐变是垂直的,边缘是透明的,线条的中间是纯绿色.
结果令人高兴:
http://img15.imageshack.us/img15/4108/horizontalsoftline.png
放大,这样你就可以看到渐变:http:
//img225.imageshack.us/img225/5027/horizontalsoftlinezoomeb.png
但是,当线不再是水平线时,渐变是基于线的边界矩形计算的,而不是根据线本身的几何形状计算的.结果是垂直阴影的斜线,而不是垂直于线的渐变:http:
//img183.imageshack.us/img183/7250/slantedsoftline.png
有谁知道WPF如何处理软边缘?我在谷歌或MSDN上找不到任何东西,我知道有一种方法可以做到这一点......
我正在VS2010发布模式中编译一个非常小的Win32命令行应用程序,所有速度优化都打开(而不是内存优化).
此应用程序旨在用于单一目的 - 执行单个预定义的复杂数学运算,以找到针对特定问题的复杂解决方案.该算法完全正常运行(已确认),并且在调试模式下编译并运行良好.但是,当我在发布模式下编译时(算法足够大以利用优化),Link.exe似乎无休止地运行,代码永远不会完成链接.它的CPU使用率为100%,内存使用率没有变化(43,432 K).
我的应用程序只包含两个类,这两个类都是非常短的代码文件.但是,该算法包含20个左右的嵌套循环,每个层内都有内联函数调用.链接器是否尝试通过这些循环运行每个可能的路径?如果是这样,为什么Debug-Mode链接器没有任何问题?
这是一个很小的命令行应用程序(2KB exe文件),编译时间不应超过几分钟.到目前为止,我已经等了30分钟,没有任何变化.我正想着让它一夜之间链接,但如果它真的是试图通过在算法的所有可能的代码路径来运行它可能最终没有派上用场一台超级计算机连接了几十年.
我需要做些什么才能让链接器脱离这个无休止的循环?这样的代码是否有可能在链接循环之前创建无限链接循环而不会出现编译器错误?
编辑:
Jerry Coffin指出我应该杀死链接器并再次尝试.我忘了在原帖中提到这个,但是我已经中止了构建,关闭并重新打开VS,并尝试多次构建.问题是一致的,但我还没有更改任何链接器选项.
EDIT2:
我也忽略了我删除了"Debug"和"Release"文件夹并从头开始重新构建的事实.结果相同.
EDIT3:
我刚刚确认关闭函数内联会导致链接器正常运行.问题是我需要函数内联,因为这是一个性能非常敏感的操作,内存占用最少.这让我想问,为什么内联会导致这样的问题发生?
EDIT4:
在无限链接周期中显示的输出:
Link:
Generating code
Run Code Online (Sandbox Code Playgroud)
编辑5:
我确认将所有代码放入单个CPP文件并没有解决问题.
一个简单的XY线图:X轴代表可能的评级百分比的完整范围,从一端的0%到另一端的100%.具体而言,X值将代表我们的评级截止值,或者交易在不再可接受之前可以具有的最低评级.Y轴将显示从0到已通过的事务总数的值.Y值将表示评级大于当前X值(或大于或等于当前X值的交易总数,我尚未确定).首次绘制此图形时,不会发生任何事务,因此图形将从"y = 0x"开始.
假设第一笔交易通过,评级为40%.交易评级表明,如果我们的评级截止值小于40%,则此交易是可以接受的.(...或者小于或等于40%.再次,我还没有决定).
首先,Y轴将重新缩放以显示0-1的范围(因为1是事务总数).然后该行将被修改以指示0 = 40或更多的交易是可接受的,并且该交易在x = 40或更少时是可接受的.这很容易在WPF中完成,只需在线路上添加两个点 - 一个在(40,0),另一个在(40,1) - 然后将线的左端点移动到(0,1).该行的右端点将保持为(100,0).然后可以对第二个事务重复此过程,依此类推.
问题是我们将处理六位数的交易.我想确保我在最大程度上使用WPF的硬件加速矢量绘图功能,以确保图形不会滞后或冻结程序的其余部分,因为它试图将300,000个点渲染到单个线路径上.或者WPF应该能够在心跳中处理这样的数字?我需要找到一种方法来实现这个图,而不会使应用程序停止运行.我相信WPF的矢量绘图平台将提供一个解决方案,但我不知道如何利用WPF来确定我正在充分利用WPF的高性能渲染功能.
wpf ×3
.net ×2
database ×2
sql ×2
sql-server ×2
.net-3.5 ×1
assert ×1
assertions ×1
autocomplete ×1
c# ×1
c++ ×1
colors ×1
css ×1
data-binding ×1
gradient ×1
graph ×1
hex ×1
inheritance ×1
installation ×1
java ×1
linker ×1
mysql ×1
optimization ×1
performance ×1
primary-key ×1
rendering ×1
typeof ×1
unique ×1
vector ×1
xaml ×1