我有水平ListBox.这是代码(删除一些不相关的):
<ListBox Grid.Row="1"
ItemContainerStyle="{StaticResource ListBoxUnselectableItemStyle}"
ItemsSource="{Binding ...}"
BorderThickness="0"
Background="{x:Null}"
ScrollViewer.CanContentScroll="False">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Top"
HorizontalAlignment="Center"
Background="Red"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
我得到像这样的项目布局行为:
]
如您所见,第二项较小,VerticalLayout不是我想要的Top.
有谁能够帮我?
我有一个ListBox.现在我想以这种方式编写一个DataTemplate,第一个项目将具有红色背景和其他项目的白色背景.我想我需要编写一个DataTrigger,但我不知道如何确定DataTemplate是否适用于第一个项目.
我需要将数据库从SQL Server 2005导出到SQL脚本(就像我们在MySQL中可以轻松完成的那样).所以我想用这样的脚本生成生成的文件
INSERT INTO ... [row 1]
INSERT INTO ... [row 2]
INSERT INTO ... [row 3]
...
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释我怎么能一步一步地做到这一点?
我在 XAML DataTemplate 中定义了我自己的类型。
<DataTemplate DataType="{x:Type MyType}">
...
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
现在我想为相同范围内的相同类型再添加一个模板。我将如何选择在具体的 ItemsControl 中使用哪个模板?
背景:
我有 ItemsControl,它根据项目的类型以不同的方式显示不同类型的对象(当然是从一个基类派生的)。所以我为每种类型指定了未命名的数据模板。现在我需要显示相同的数据,但使用新模板(旧模板支持编辑,新模板不支持)。
我有一个Java程序接受连接,接收HTTP请求并发送HTTP回复和一些存储在文件中的数据(这是缓存代理的一部分).删除所有不相关的内容,我的代码如下所示:
FileInputStream fileInputStream = new FileInputStream(file);
OutputStream outputStream = socket.getOutputStream();
byte[] buf = new byte[BUFFER_SIZE];
int len = 0;
while ((len = fileInputStream.read(buf)) > 0) {
outputStream.write(buf, 0, len);
}
outputStream.flush();
socket.close();
Run Code Online (Sandbox Code Playgroud)
此代码在每个连接的客户端的特定线程中执行.
当我处理小文件(.htm,.gif,.swf等)时,一切正常(但是,我没有看到浏览器中的任何错误).但是当我下载大文件(.iso),特别是同时下载几个文件时,当系统处于负载状态时,有时我会遇到很奇怪的行为.浏览器下载99.99%的文件,当下载的字节少于BUFFER_SIZE时,下载停止几秒钟,然后浏览器说出错.我无法理解会发生什么,因为所有数据都已成功读取,甚至所有数据都成功写入outputStream.正如你所看到的,我甚至做了flush(),但它没有结果.
谁能解释一下会发生什么?
编辑
上传项目到filehosting.org.
下载源文件.有zip源存档,包含源代码,Build.xml和Readme.txt.使用ant构建解决方案.在ClientManager.java中发生了所描述的问题,您可以在那里找到评论.
我正在使用data.table包并尝试编写一个函数(如下所示):
require(data.table)
# Function definition
f = function(path, key) {
table = data.table(read.delim(path, header=TRUE))
e = substitute(key)
setkey(table, e) # <- Error in setkeyv(x, cols, verbose = verbose) : some columns are not in the data.table: e
return(table)
}
# Usage
f("table.csv", ID)
Run Code Online (Sandbox Code Playgroud)
在这里,我尝试将表达式传递给函数.为什么这段代码不起作用?
我已经尝试了不同的组合substitute(),quote()和eval().所以,如果你还能解释如何让它发挥作用,那就太棒了.
我遇到了unicode字符序列化和反序列化的问题.这是一个示例程序,它将char写入文件,然后尝试读取它.书写和读取字符(ch和ch2)是不同的.有什么建议为什么我得到这种行为?
public class MainClass {
public static void main(String[] args) {
try {
File outfile = new File("test.txt");
FileOutputStream fos = new FileOutputStream(outfile);
OutputStreamWriter writer = new OutputStreamWriter(fos, "UTF-16");
FileInputStream fis = new FileInputStream(outfile);
InputStreamReader reader = new InputStreamReader(fis, "UTF-16");
char ch = 56000;
System.out.println(Integer.toBinaryString(ch));
writer.write(ch);
writer.close();
char ch2 = (char) reader.read();
System.out.println(Integer.toBinaryString(ch2));
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
UPD:根据 经验发现,这仅适用于范围55296-57343的数字.
我有容器div(灰色框)里面有浮动元素: 
条形图向左浮动,按钮向右浮动.现在我希望文本框填充条形图和按钮之间的空白区域.
请注意,在计算期间,条形数可能会有所不同,因此文本框应该能够相应地调整大小.因此,具有静态宽度的解决方案(即使它们以%表示)将不起作用.
我该怎么做?
编辑:
这是我的代码:
HTML:
<div id="dp-container">
<ol id="tag-list">
<li dp-item class="dp-bar-table">sales</li>
<li dp-item class="dp-bar-field">cost</li>
</ol>
<input id="dp-input-str" type="text">
<input type="button" value="GO" style="float: right;">
<div style="clear:both;"></div>
</div>?
Run Code Online (Sandbox Code Playgroud)
CSS:
body {
font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
}
ol {
display: inline;
margin: 0;
padding: 0;
vertical-align: middle;
list-style-type: none;
}
li[dp-item] {
background-color: #e0ffff;
display: inline-block;
float: left;
padding: 3px;
margin: 2px;
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FEFEFE), to(#EBEBEB));
border: 1px solid lightgray;
border-radius: 3px; …Run Code Online (Sandbox Code Playgroud) 我正在从Resharper运行NUnit测试.我想跟踪执行过程,所以我的问题是在哪里可以找到我的应用程序生成的日志?
我使用NLog,记录器输出路径是相对的,例如logs\mylog.txt.
猜猜我们有简单的模型,例如让它成为一个人 {Name,Age}.
现在我们要显示一个人员列表.
现在的问题是,如果这是一个好的做法,不创建可能是模型类的副本或将委托其所有属性的PersonViewModel类?简单地将列表框绑定到人员列表而不是他们的视图模型是一个好主意吗?看起来很干,但MVVM的想法怎么样?
Control accessed from a thread other than the thread it was created on当我尝试访问WinForms控件时出错.我知道控制的所有修改都应该在UI线程中执行(需要BeginInvoke()等),但我需要我的控件只能读取.
这是我的简化代码:
string text = textBox.Text;
Run Code Online (Sandbox Code Playgroud)
从另一个线程访问WinForms控件的属性值的模式是什么?
wpf ×3
java ×2
listbox ×2
xaml ×2
char ×1
css ×1
css-float ×1
data.table ×1
datatemplate ×1
datatrigger ×1
dry ×1
export ×1
expression ×1
file ×1
html ×1
http ×1
layout ×1
listboxitem ×1
mvvm ×1
nlog ×1
nunit ×1
r ×1
resharper ×1
sockets ×1
sql ×1
sql-server ×1
unicode ×1
winforms ×1