我无法弄清楚为什么这个XAML代码不起作用.使用TemplateBinding(见下文)时,未设置背景颜色.但是当我使用普通的颜色字符串(即"红色")时,它工作正常.
<ControlTemplate x:Key="InstanceButtonTemplate" TargetType="{x:Type Control}">
<Grid>
<Rectangle>
<Rectangle.Fill>
<SolidColorBrush Color="{TemplateBinding Background}"></SolidColorBrush>
</Rectangle.Fill>
</Rectangle>
</Grid>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)
然而,当我以这种方式使用TemplateBinding时,它工作正常......
<ControlTemplate x:Key="InstanceButtonTemplate" TargetType="{x:Type Control}">
<Grid>
<Rectangle Fill="{TemplateBinding Background}"></Rectangle>
</Grid>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
编辑:为了澄清,我打算将其扩展为使用渐变画笔,这就是为什么我需要能够使用XAML而不是普通字符串分配给Rectangle.Fill属性.
从外向内进行开发时,我仍然不确定如何最好地使用Mocks(即首先模拟客户需求的写测试)
假设客户的要求是"客户可以取消订单".
我可以为此编写测试 - Test_Customer_Can_Cancel_Her_Order.
使用TDD然后编写业务类并模拟数据访问层(或比我的业务逻辑层"更深"的任何层).太棒了,我的测试通过,我只测试业务层而不是下面的任何层.
现在我想知道的是......我什么时候深入研究并开始编写和测试数据访问层?顶级测试后直接?只有在我编写集成测试时?也许没关系?只要它在某个时刻完成了吗?
就是想...
我有一个在谷歌应用程序引擎上运行的python/django应用程序.
我的views.py文件有一些导入...
from commands.userCommands import RegisterUserCommand
from commands.accountCommands import CreateNewAccountCommand, RenameAccountCommand
Run Code Online (Sandbox Code Playgroud)
这些导入在我的开发环境(本地机器)上运行良好.但是当我上传到谷歌应用引擎时,views.py失败并显示"无法导入视图.错误是:没有名为userCommands的模块"错误.
知道为什么我不能导入我的commands.userCommands模块吗?
我的文件结构如下......
- app.yaml
- urls.py
- views.py
- etc...
- commands/__init__.py
- commands/userCommands.py
Run Code Online (Sandbox Code Playgroud)
注意:我确实尝试将我的应用程序名称附加到模块名称/路径.没运气.
注意:我确实使用--noisy参数进行了更新,它似乎确实成功上传了我的命令文件夹.
我有一个python字典,我想存储在Google的BigTable数据存储区中(它是一个db.Model
类中的属性).
是否有捷径可寻?即使用db.DictionaryProperty
?或者我是否必须使用pickle来序列化我的字典?我的字典相对简单.它由字符串作为键组成,但它也可能包含某些键的子字典.例如:
{
'myKey' : 100,
'another' : 'aha',
'a sub dictionary' : { 'a': 1, 'b':2 }
}
Run Code Online (Sandbox Code Playgroud)
PS:我想序列化为二进制,而不是文本,如果可能的话.
我觉得这很傻,我一定会错过一些明显的东西.
我的javascript看起来如下......
function onNewItemClick(event)
{
alert('ello!');
try
{
var xx = 111/0;
}
catch(exc)
{
alert('fff');
}
}
Run Code Online (Sandbox Code Playgroud)
alert('ello!')的工作方式应该如此,但Catch块中的警报('fff')永远不会被调用.我在这做错了什么?
我遇到一个特定查询的问题.它需要在事务中运行,并且确实如此,但每当app引擎执行我的查询时,我都会收到以下错误:
在事务内只允许祖先查询
你会看到我的查询有一个祖先.那么app引擎真正抱怨的是什么?
q = db.Query(EventBase)
q.ancestor = db.Key.from_path(aggrRootKind, aggrRootKeyName)
q.filter('undone =','False')
q.order('-version')
qResult = q.fetch(1, 0)
Run Code Online (Sandbox Code Playgroud)