为WPU应用程序为什么看起来像网页,我为新手问题道歉?
我是gui的新手,还在购买一本学习gui编程的书.推动似乎是在WPF的方向,但我看到的所有WPF应用程序的截图看起来都像廉价的网页.坦率地说,我会羞于销售一个看起来像网页的应用程序.
我意识到WPF是基于XML技术构建的,但你不能在Visual Studio中构建看起来很正常的WPF应用程序(通过按钮("widget"))拖放吗?换句话说,一个看起来不像网页的应用程序?
如果WPF不提供相同的标准应用程序外观,它如何能够替代WinForms等?
我想使用一个ArrayList(或其他一些集合),就像我将如何使用标准数组一样.
具体来说,我希望它以一个初始大小(比如SIZE)开始,并且能够明确地设置元素,
例如
array[4] = "stuff";
Run Code Online (Sandbox Code Playgroud)
可以写
array.set(4, "stuff");
Run Code Online (Sandbox Code Playgroud)
但是,以下代码抛出IndexOutOfBoundsException:
ArrayList<Object> array = new ArrayList<Object>(SIZE);
array.set(4, "stuff"); //wah wahhh
Run Code Online (Sandbox Code Playgroud)
我知道有几种方法可以做到这一点,但我想知道是否有人喜欢,或者可能是更好的收藏品.目前,我正在使用如下代码:
ArrayList<Object> array = new ArrayList<Object>(SIZE);
for(int i = 0; i < SIZE; i++) {
array.add(null);
}
array.set(4, "stuff"); //hooray...
Run Code Online (Sandbox Code Playgroud)
我问的唯一原因是因为我在循环中这样做可能会运行很多次(数万次).鉴于ArrayList调整大小行为是"未指定的",我宁愿不浪费任何时间调整自身,或者在数组中备用它的额外未使用的点上的内存.这可能是一个没有实际意义的问题,因为我将完全通过调用array.set()来填充数组(几乎总是数组中的每个单元格),并且永远不会超过容量?
我宁愿只使用普通数组,但我的规格要求我使用Collection.
我需要div中的文本来保存和包装.到目前为止,我很难找到解决方案.我能找到的最佳解决方案并不适用于所有浏览器.
以下适用于Chrome和IE6 +,但在Firefox中,文本不包装.
white-space: pre;
word-wrap: break-word;
Run Code Online (Sandbox Code Playgroud)
我发现无论出于何种原因,文本都不会在Firefox中包含white-space:pre.并且-moz-pre-wrap在Firefox 3.5中不起作用(为什么??),只是预先换行.但是当我在列表中添加预包装时,IE 6和7不起作用.很沮丧.
代码:
.introsub {
position: relative;
top: 30px;
left: 25px;
width: 550px;
font-weight: normal;
line-height: 1.5em;
overflow: auto;
margin: 0;
padding: 1.5em;
white-space: pre;
word-wrap: break-word;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用AES加密Android上的字符串.先前使用Diffie-Hellman算法确定对称密钥,并且似乎没问题(密钥长度为128位,见下文).
不过,我得到了一个 InvalidKeyException: "Key length not 128/192/256 bits."
码:
KeyAgreement keyAgree = KeyAgreement.getInstance("DH", "BC");
keyAgree.init(this.smartphonePrivKey);
keyAgree.doPhase(serverPubKey, true);
SecretKey key = keyAgree.generateSecret("AES");
System.out.println("Key Length: " + key.getEncoded().length);
System.out.println("Key Algorithm: "+ key.getAlgorithm());
System.out.println("Key Format: "+ key.getFormat());
byte[] encrypted = null;
Cipher cipher;
try {
cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
System.out.println("Allowed Key Length: "
+ cipher.getMaxAllowedKeyLength("AES"));
cipher.init(Cipher.ENCRYPT_MODE, key);
encrypted = cipher.doFinal("YEAH".getBytes("UTF8"));
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchPaddingException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) { …Run Code Online (Sandbox Code Playgroud) 我的应用程序将在数据库中保存一个标志(核心数据),说明用户是否经过身份验证.有人访问"核心数据"数据库并在不通过应用程序的情况下更改其中的信息是多么容易或困难?
我要在那里保存一个标志,说"此用户已通过身份验证",因此他无需再次进行身份验证.这是一个有趣的应用程序,而不是银行应用程序,所以我想知道这是否可以.
换句话说:我是否应该假设普通的iPhone用户(当然不是越狱)将无法使用"核心数据"数据库,而且这个数据库只能通过其预期的iPhone应用程序访问?
我第一次使用mustache.js.我发现的所有示例似乎都在谈论将所有内容放入内联,但我希望我的模板在外部文件中,以便它们可以在多个地方使用.我怎么做?(我的堆栈中有jQuery,如果这有所不同.)
所以说我有:
template.html
{{title}} spends {{calc}}
Run Code Online (Sandbox Code Playgroud)
data.js
var data = { title: "Joe", calc: function() { return 2 + 4; } };
Run Code Online (Sandbox Code Playgroud)
的index.html
<script type="text/javascript" src="data.js"></script>
<div id="target"></div>
<script type="text/javascript">
var template = ?????? // how do I attach the template?
var html = Mustache().to_html(template, data);
$('#target')[0].innerHTML = html;
</script>
Run Code Online (Sandbox Code Playgroud) 我的图像宽1px,有些高度.我需要在它的OnPaint事件的控件的整个宽度上绘制这个图像.我得到它绘制,但不正确.看起来当它伸展它时,它实际上并没有填满所有像素.好像插值是关闭的.有没有办法说"停止聪明,只是画出来"?我在图形对象的选项中看不到InterpolationMode.Off或.None.
我可以通过使用宽度为X的图像来确认我实际上绘制了整个宽度,其中X与控件的宽度相同.然后当它绘制时,它正常覆盖整个区域.然而,这个控件一直在调整大小,为了节省内存,所有使用1px宽图像的爵士乐在网络世界中是很正常的.这适用于桌面C#应用程序.有想法该怎么解决这个吗?
我有兴趣使用target = _blanks作为链接,但由于我不想做参数化的URI,我担心丢失基于请求的数据,例如referrer.那种恐惧是错位的吗?
什么是tlv?
将钩子(函数)放在代码而不是if/else中?
如果我在不同的平台上运行一段代码,在代码的不同位置,我可以放置tlv函数钩子来识别我所在的平台并做相应的操作?或类似的东西?
好处可以更清洁代码?容易维护?添加新平台时,只需更改tlv代码而不是源代码?
我在这里可能完全错了.
题
是否可以使用流畅的语法或属性在属性上定义唯一约束?如果没有,有哪些解决方法?
我有一个带有主键的用户类,但我想确保电子邮件地址也是唯一的.这是否可以直接编辑数据库?
解决方案(基于马特的答案)
public class MyContext : DbContext {
public DbSet<User> Users { get; set; }
public override int SaveChanges() {
foreach (var item in ChangeTracker.Entries<IModel>())
item.Entity.Modified = DateTime.Now;
return base.SaveChanges();
}
public class Initializer : IDatabaseInitializer<MyContext> {
public void InitializeDatabase(MyContext context) {
if (context.Database.Exists() && !context.Database.CompatibleWithModel(false))
context.Database.Delete();
if (!context.Database.Exists()) {
context.Database.Create();
context.Database.ExecuteSqlCommand("alter table Users add constraint UniqueUserEmail unique (Email)");
}
}
}
}
Run Code Online (Sandbox Code Playgroud) aes ×1
android ×1
c# ×1
code-first ×1
collections ×1
core-data ×1
css ×1
encryption ×1
gdi+ ×1
graphics ×1
html ×1
http ×1
http-headers ×1
iphone ×1
java ×1
javascript ×1
jquery ×1
mustache ×1
seo ×1
stretch ×1
tlv ×1
wpf ×1