我有一个Windows WPF应用程序,我正在使用Caliburn.Micro.主窗口视图/ viewmodel由Caliburn.Micro处理.其中一个按钮弹出一个新的对话窗口,该窗口使用不同的视图模型.
在这个对话框中,我有一个容器(列表框和一些过滤器控件),我想将其作为一个可重用的控件,以便我可以将它包含在其他对话框中.为此,我从对话框的视图中提取并viewmodel相关代码并创建了一个新视图和viewmodel.这一切看起来都不错.
问题是,现在回到对话框中我有一个带有大空空间的dockpanel,我需要可重用控件.
从对话框viewmodel OnInitalize()我可以创建可重用的控件viewmodel,但我不知道如何将它的视图放入对话框视图的dockpanel.
要从主窗口viewmodel创建对话框,我使用WindowManager().ShowDialog()显示对话框的viewmodel,Caliburn.Micro负责设置视图.有没有一种方法可以在对话框的XAML中指定我想为可重用控件嵌入视图并让Caliburn创建适当的视图/视图模型?
或者我是以错误的方式去做的?
我一直认为通过声明var之前using允许将其分配到内部using然后我仍然可以读取它之外的变量.结果我不能:-)
ReadOnlyCollection<string> collection;
using (var archive = new SevenZipArchive(varRarFileName)) {
collection = archive.Volumes;
MessageBox.Show(collection.Count.ToString()); // Output 10
}
MessageBox.Show(collection.Count.ToString()); // output 0
Run Code Online (Sandbox Code Playgroud)
任何方式使它工作而不停止使用 using
全面测试方法:
private ReadOnlyCollection<string> ExtractRar(string varRarFileName, string varDestinationDirectory) {
ReadOnlyCollection<string> collection;
using (var archive = new SevenZipArchive(varRarFileName)) {
collection = new ReadOnlyCollection<string>(archive.Volumes);
MessageBox.Show(collection.Count.ToString()); // output 10
}
MessageBox.Show(collection.Count.ToString()); // output 0
return collection;
}
Run Code Online (Sandbox Code Playgroud) 如何在NamedPipe上发送带有空行的多行字符串?
如果我发一个字符串
string text= @"line 1
line2
line four
";
StreamWriter sw = new StreamWriter(client);
sw.Write(text);
Run Code Online (Sandbox Code Playgroud)
我只在服务器端"第1行":
StreamReader sr = new StreamReader(server);
string message = sr.ReadLine();
Run Code Online (Sandbox Code Playgroud)
当我尝试这样的事情
StringBuilder message = new StringBuilder();
string line;
while ((line = sr.ReadLine()) != null)
{
message.Append(line + Environment.NewLine);
}
Run Code Online (Sandbox Code Playgroud)
它在客户端连接时挂起,只在客户端断开连接时才会释放.
任何想法我怎么能没有挂在这个循环中得到整个字符串?我需要处理字符串并以相同的方式将其返回给客户端.
保持字符串的原始格式包括空行和空格非常重要.
我正在运行由MySQL Workbench自动生成的以下MySQL脚本(已删除),我收到以下错误:
错误代码:1005无法创建表'regula.reservation'(错误号:121)
我不是很熟悉数据库,这个错误信息量不大.
这里有什么问题?
-- -----------------------------------------------------
-- Table `regula`.`Users`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `regula`.`Users` ;
CREATE TABLE IF NOT EXISTS `regula`.`Users` (
`idUsers` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` TEXT NOT NULL ,
`type` TEXT NOT NULL ,
`pwd` TEXT NOT NULL ,
PRIMARY KEY (`idUsers`) ,
UNIQUE INDEX `idUsers_UNIQUE` (`idUsers` ASC) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `regula`.`Projects`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `regula`.`Projects` ;
CREATE TABLE IF NOT EXISTS …Run Code Online (Sandbox Code Playgroud) 我有三个整数
int myI1 = 33;
int myI2 = 44;
int myI3 = 22;
Run Code Online (Sandbox Code Playgroud)
我想确定什么是最高的,哪个是使用Objective-C的最低值
我不知道要走哪条路...... NSArray,int array或其他东西.我知道我可以继续比较这些值,但我正在寻找更优雅和/或更通用的方法.
谢谢!
我的源代码和构建树看起来像这样(参见Makefile将目标文件从源文件不同的目录放入一个单独的目录?)make之后(构建并运行FooAndBarTests):
src
- Foo.cpp
- Bar.cpp
inc
- Foo.h
- Bar.h
test
- FooTest.cpp
- BarTest.cpp
- Main.cpp
- Makefile
- obj
- Foo.gcda
- Foo.gcno
- Bar.gcda
- Bar.gcno
- FooAndBarTests
UnitTest++
- libUnitTest++.a
- src
- ...
Run Code Online (Sandbox Code Playgroud)
然后我可以通过运行gcov -o obj/ ../src/Foo.cpp和生成测试目录中的.gcov文件gcov -o obj/ ../src/Bar.cpp.
但如果我跑,lcov -d obj/ -c -o FooAndBarTests.lcov我得到:
Capturing coverage data from obj/
Found gcov version: 4.2.1
Scanning obj/ for .gcda files ...
Found 4 data files in …Run Code Online (Sandbox Code Playgroud) 我正在使用DataMapper和Sinatra构建一个小型Ruby应用程序,我正在尝试定义一个基本的博客模型:
由于每个评论belongs_to帖子的事实,我很难在评论之间找到自我参照关系.我的课程现在看起来像这样:
class User
include DataMapper::Resource
property :id, Serial
property :username, String
property :password, String
has n, :post
endRun Code Online (Sandbox Code Playgroud)
class Post
include DataMapper::Resource
property :id, Serial
property :content, Text
belongs_to :user
has n, :comment
endRun Code Online (Sandbox Code Playgroud)
class Comment
include DataMapper::Resource
property :id, Serial
property :content, Text
belongs_to :user
belongs_to :post
endRun Code Online (Sandbox Code Playgroud)
我正在关注协会的指南并构建一个新对象(CommentConnection)以将两个注释链接在一起,但我的问题是每个子注释不应属于Comment类隐含的Post.
我的第一直觉是为Comments提取一个超类,这样一个子类可以是"顶级"并属于一个帖子,而另一种类型的注释属于另一个注释.不幸的是,当我这样做时,我遇到的问题是注释ID变为空.
在DataMapper中建模这种递归注释关系的最佳方法是什么?
尝试在文本框中验证以逗号分隔的电子邮件列表asp:RegularExpressionValidator,请参阅以下内容:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1"
runat="server" ErrorMessage="Wrong email format (separate multiple email by comma [,])" ControlToValidate="txtEscalationEmail"
Display="Dynamic" ValidationExpression="([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},?)" ValidationGroup="vgEscalation"></asp:RegularExpressionValidator>
Run Code Online (Sandbox Code Playgroud)
当我在http://regexhero.net/tester/上测试时,它工作得很好,但它在我的页面上不起作用.
这是我的示例输入:
test@test.com,test1@test.com
Run Code Online (Sandbox Code Playgroud)
我在这篇文章中尝试了一个建议,但无法让它发挥作用.
ps我不想讨论正确的电子邮件验证
c# ×4
c++ ×2
asp.net ×1
datamapper ×1
gcov ×1
ios ×1
iphone ×1
lcov ×1
mvvm ×1
mysql ×1
named-pipes ×1
ntfs ×1
objective-c ×1
qa ×1
recursion ×1
regex ×1
ruby ×1
sinatra ×1
sql ×1
streamreader ×1
streamwriter ×1
testing ×1
unittest++ ×1
using ×1
wpf ×1