网格行和列定义似乎是硬编码的,如下所示:
Grid.Row="3" Grid.Column="1"
Run Code Online (Sandbox Code Playgroud)
我正在开发一个新的WPF应用程序,我不得不不断添加和删除我的网格中的新行,因为客户端决定了表单的外观.我发现这是一项相当繁琐的工作.如果在顶部附近插入一行,我必须手动更改我刚插入的行下面的XAML中的所有行索引.
有没有一种简单的方法可以自动调整所有行?
我一直在寻找迭代字符串列表的最佳/最干净的方法,然后创建一个由换行符分隔的字符串(除了最后一行).像这样:
String 1
String 2
String 3
Run Code Online (Sandbox Code Playgroud)
我在这里写了两个循环,在字符串的末尾有一个换行符(我想避免)和另一个没有的换行符.这个不仅对我来说不是"干净".我认为有一种更简单的方法可以使逻辑几乎与在字符串末尾有一个新行的示例中一样简单.
List<string> errorMessages = new List<string>();
string messages = "";
//Adds newline to last string. Unwanted.
foreach(string msg in errorMessages)
{
messages += msg + "\n";
}
messages = "";
bool first = true;
//Avoids newline on last string
foreach (string msg in errorMessages)
{
if(first)
{
first = false;
messages = msg;
}
else
{
messages += "\n" + msg;
}
}
Run Code Online (Sandbox Code Playgroud)
也许这是一厢情愿的想法,但我认为这是一个足够普遍的事情,可以保证更好的方式来实现我的目标.
我这样做是使用JAXB将一些XML解组为Java对象:
我的代码看起来有点像这样:
InputStream testMsg = getClass().getResourceAsStream("TestDocumentEvent.xml");
Unmarshaller unmarshaller = JAXBContext.newInstance(DocumentEvent.class).createUnmarshaller();
DocumentEvent unmarshalled = (DocumentEvent) unmarshaller.unmarshal(testMsg);
Run Code Online (Sandbox Code Playgroud)
但是,当我运行此代码时,我得到一个异常:
java.lang.IllegalArgumentException: is parameter must not be null
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?
我有一个生成.resx资源文件的程序.这些资源文件用于其他项目,与生成资源文件的项目不在同一解决方案中.
我现在想知道,如果可以designer.cs从资源文件生成文件,那么您可以直接访问资源而无需使用resxresourcereader.
好吧,我使用一个简单的webbrowser控件来浏览页面,所以我需要在这样做时更改表单的Text.我正在使用 -
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
this.Text += " - " + webBrowser1.Document.Domain;
}
Run Code Online (Sandbox Code Playgroud)
但是使用断点,我注意到,这个事件发射了两次.我甚至尝试过_Navigated()活动.它也开了两次.得到的标题"Webber - google.co.in - google.co.in"..
我也注意到这个事件在加载msn.com时多次激活..我只是在页面完成加载时才尝试更改表单的文本..
任何补救措施?
我想在页面中的所有动态链接上附加一个查询字符串 - 修复旧版本中的错误 - 这可能吗?
有任何想法吗?
如果我在字段上创建PostgreSQL唯一索引,默认情况下比较不区分大小写?
如果没有,是否可以要求PostgreSQL忽略字符串大小写?
我已经使用这里的文档成功更改了编辑器中的默认字体,但这让我有一个问题.原始默认字体不再适用于字体下拉列表.
原始默认值:Verdana
新默认值:MyCustomFont
当我输入编辑器时,默认情况下我会看到MyCustomFont字体.如果我尝试将其更改为Verdana(原始默认值),则没有任何反应.我可以将其更改为除Verdana之外的任何字体系列.我还注意到,当我在下拉列表中选择MyCustomFont时,内容会被带有内联样式的跨度所包围.原始默认字体不会发生这种情况(因此没有任何反应).
在我看来,有一个关键的文档缺失 - 如何告诉编辑器(特别是字体功能)我在css中默认定义的字体是默认字体.
我用谷歌搜索了一下但没有结果.其他人似乎都在为上述文件做好准备.我是唯一一个遇到这个问题的人吗?如果没有,请帮忙!:)
请注意,这个问题的答案没有回答我的问题.
我想在包含简单文本的现有PDF文档中添加页面.
我尝试过在互联网上找到的以下代码,但到目前为止我还没有工作:
PdfReader reader = new PdfReader("1.pdf");
Document document = new Document(reader.GetPageSize(1));
PdfCopy copier = new PdfCopy(doc, new FileStream("2.pdf", FileMode.Create));
for (int pageCounter = 1; pageCounter < reader.NumberOfPages + 1; pageCounter++)
{
//byte[] page = reader.GetPageContent(pageCounter);
copier.AddPage(copier.GetImportedPage(reader, pageCounter));
}
copier.NewPage();
copier.Add(new Paragraph("This is added text"));
document.Close();
reader.Close();
Run Code Online (Sandbox Code Playgroud)
请让我知道如何做到这一点?
您好我建立了一个通用模板来列出我的内容.但是Content可以在不同的@或node()上进行排序.所以想要传递xPath.
<xsl:variable name="sort" select="@sortBy"/>
<xsl:variable name="order" select="@order"/>
<xsl:for-each select="Content[@type=$contentType]">
<xsl:sort select="$sort" order="{$order}" data-type="text"/>
<xsl:sort select="@update" order="{$order}" data-type="text"/>
<xsl:copy-of select="."/>
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)
使用变量以升序或降序进入order=""WORKS.
为什么不能这样做select=""呢?
我希望使这个超级动态的select变量可以是xPtah @publish或Title/node()或任何xPath.
没有错误 - 它只是忽略了排序.