我开始了一个业余爱好项目,以了解WPF,在我的研究中,我对这个WPF PropertyGrid http://www.codeplex.com/wpg进行了讨论.
我从http://wpg.codeplex.com/SourceControl/ListDownloadableCommits.aspx下载了源代码 ,并开始浏览它,看起来很酷,并且工作正常.但对于我的生活,我无法弄清楚它是如何运作的.以下是我乍一看的问题.
我理解DependancyProperties处理新值之间的dataexchange.
Default.xaml文件中有很多XAML代码,但据我所知,它只是样式和在那里定义的外观.
如何在每个执行行之后强制循环检查其条件,而不是仅在整个块完成时?
我有一个while(!statement){}循环,但是语句可以通过几种不同的方法改变,并且应该在循环中的当前行完成执行后强制循环中断; 而不是整个循环块完成一个循环.
有没有办法做到这一点?
与其他浏览器相比,Ubuntu上的Firefox似乎渲染了一些HTML.特别是Ubuntu上的一些字体/样式变得越来越大,并且依赖于相同数量的换行符以使它们保持对齐的文本列不再在Ubuntu Firefox上对齐.
我已经获得了一些在iWeb中制作的HTML,它可以在除Ubuntu上的Firefox之外的所有主流浏览器上正确显示.(Windows上的Firefox工作正常)
我在Ubuntu上运行Firefox 3.0.12并且关闭了Ubuntu Firefox Modifications附加组件.
什么可能导致这个问题与Ubuntu上的Firefox有问题?
更新: 我发现在我自己的机器上本地存储的HTML副本实际上会使列正确对齐,但在线查看时它会变得不对齐.
我已经尝试安装Microsoft字体包,但这没有帮助.
更新2: 对于列问题,似乎至少有两个问题.一个是iWeb将其中一个列分成两个代码块,并将其放在另一个代码的代码周围.一旦我确定每个列是由一个连续的代码块创建的并删除了一些现在冗余的div,那么在Ubuntu上的对齐效果要好得多,但并不完美.这些更改似乎也不会影响其他浏览器的呈现.
使用Firebug进行挖掘,似乎我可以通过删除所有相关文本的font-size属性来完全解决Ubuntu上的问题.然而,这会破坏所有其他浏览器的对齐 - 现在我又回到原点.
(是的,我知道HTML的设计方式是一种不好的做法,但我刚刚给出了代码,所以我真的没有多少选择)
我正在编辑别人的脚本,我看到他/她\c经常使用这个
echo "bla bla \c"
Run Code Online (Sandbox Code Playgroud)
使用时只需打印
bla bla \c
Run Code Online (Sandbox Code Playgroud)
屏幕上.
所以,我想知道为什么要使用它或者可能是我错过了什么,因为它什么都不做?我检查了逃脱角色,我也没有找到任何这样的东西.在shell脚本中是否有特殊用途的c,主要是在bash和korn shell中?
当我使用{{f.as_p}}显示有错误的表单时,错误列表ul总是首先出现在标签和输入字段中.例如:
<ul class="errorlist">
<li>This field is required.</li>
</ul>
<p>
<label for="id_content">Content:</label>
<textarea id="id_content" class="required error" name="content" cols="80" rows="10"/>
</p>
Run Code Online (Sandbox Code Playgroud)
我知道你可以用
{% for field in f %}
<p>{{ field.label_tag }}: {{ field }}</p>
{{ field.errors }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
要在标签和字段之后更改错误列表ul位置,但我想直接使用f.as_p,f.as_table或{{f}},因为它简单易行,特别是当我必须显示很多表单时.
所以问题是:有没有办法在默认情况下在字段部分后显示错误列表?
我正在阅读"Scala编程"一书,并Rational在第6章的实现中遇到了一些问题.
这是我Rational班级的初始版本(基于本书)
class Rational(numerator: Int, denominator: Int) {
require(denominator != 0)
private val g = gcd(numerator.abs, denominator.abs)
val numer = numerator / g
val denom = denominator / g
override def toString = numer + "/" + denom
private def gcd(a: Int, b: Int): Int =
if(b == 0) a else gcd(b, a % b)
// other methods go here, neither access g
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是,字段g在类的生命周期内保持不变,即使从未再次访问过.运行以下模拟程序可以看到此问题:
object Test extends Application {
val a = new Rational(1, 2) …Run Code Online (Sandbox Code Playgroud) 我只是尝试使用VBO渲染第一个红皮书示例(白色Quad).
它适用于立即模式和顶点数组.
但是当使用VBO时,屏幕保持黑色.我想我一定错过了重要的事情.
在里面:
unsigned int bufIds[2];
glGenBuffers( 2, bufIds );
GLfloat vertices[] = {
0.25, 0.25, 0.0,
0.75, 0.25, 0.0,
0.75, 0.75, 0.0,
0.25, 0.75, 0.0
};
glBindBuffer( GL_ARRAY_BUFFER, bufIds[0] );
glBufferData( GL_ARRAY_BUFFER, 12, vertices, GL_STATIC_DRAW );
glBindBuffer( GL_ARRAY_BUFFER, 0 );
glClearColor( 0, 0, 0, 1 );
glColor3f( 1, 1, 1 );
glOrtho( 0.0, 1.0, 0.0, 1.0, -1.0, 1.0 );
Run Code Online (Sandbox Code Playgroud)
VBO的renderloop(不工作):
glClear( GL_COLOR_BUFFER_BIT );
glEnableClientState( GL_VERTEX_ARRAY );
glBindBuffer( GL_ARRAY_BUFFER, bufIds[0] );
glVertexPointer( 3, GL_FLOAT, 0, 0 );
glDrawArrays( GL_QUADS, …Run Code Online (Sandbox Code Playgroud) 我目前在我的Mac上安装了多个版本的Python,它附带了一个版本,我最近从python.org下载的版本,用于在本地运行Zope的旧版本以及Appengine正在使用的另一个版本.这有点乱.使用一个版本的python来统治它们的任何建议?如何删除旧版本并将我的所有应用程序链接到单个安装.我应该知道的任何Mac特定陷阱?这是一个愚蠢的想法吗?
使用一个MySQL查询时,是否存在一种简单的方法,INSERT当它不存在时,或者UPDATE它是否存在?