如何以编程方式设置按钮的模板?
Polygon buttonPolygon = new Polygon();
buttonPolygon.Points = buttonPointCollection;
buttonPolygon.Stroke = Brushes.Yellow;
buttonPolygon.StrokeThickness = 2;
// create ControlTemplate based on polygon
ControlTemplate template = new ControlTemplate();
template.Childeren.Add(buttonPolygon); // This does not work! What's the right way?
//create button based on controltemplate
Button button = new Button();
button.Template = template;
Run Code Online (Sandbox Code Playgroud)
所以我需要一种方法将我的Polygon设置为按钮的模板.建议?
谢谢.
我使用Pdfstamper在pdf上添加了水印.这是代码:
for (int pageIndex = 1; pageIndex <= pageCount; pageIndex++)
{
iTextSharp.text.Rectangle pageRectangle = reader.GetPageSizeWithRotation(pageIndex);
PdfContentByte pdfData = stamper.GetUnderContent(pageIndex);
pdfData.SetFontAndSize(BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252,
BaseFont.NOT_EMBEDDED), watermarkFontSize);
PdfGState graphicsState = new PdfGState();
graphicsState.FillOpacity = watermarkFontOpacity;
pdfData.SetGState(graphicsState);
pdfData.SetColorFill(iTextSharp.text.BaseColor.BLACK);
pdfData.BeginText();
pdfData.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "LipikaChatterjee",
pageRectangle.Width / 2, pageRectangle.Height / 2, watermarkRotation);
pdfData.EndText();
}
Run Code Online (Sandbox Code Playgroud)
这很好用.现在我想从我的pdf中删除这个水印.我查看了iTextSharp,但未能得到任何帮助.我甚至尝试将水印添加为图层,然后删除图层,但无法从pdf中删除图层的内容.我查看了iText的图层删除,发现了一个OCGRemover类,但我无法在iTextsharp中获得一个等效的类.
我觉得捆绑应该被用来将你一起使用的一堆文件分组到浏览器中.这意味着例如我的root风格,我想做类似以下的事情:
var bundle = new StyleBundle("~/Content/style").Include(
"~/Content/mystyle.less",
"~/Content/bootstrap.css",
"~/Content/bootstrap-responsive.css");
bundle.Transforms.Add(new LessTransform());
bundle.Transforms.Add(new CssMinify());
bundles.Add(bundle);
Run Code Online (Sandbox Code Playgroud)
但是,对于捆绑较少文件的自定义转换技术来说,这似乎并不能很好地工作,因为它看起来像将所有文件预先捆绑到单个css文件中,然后再将其传递给LessTransform.据我所知,只有将所有较少的文件捆绑在一起时,此方法才有效.
有没有办法让bundle在同一个bundle中允许less和css文件?
我有一些代码对我没有多大意义.我有一个字符串数组,我正在使用二进制搜索在foreach()循环中计算它们.除了排序之外,我尝试输出时的代码完全相同.我不知道为什么我得到了我得到的结果.我认为它应该只计算数组的值,两次都是相同的.有帮助吗?
码:
using System;
public class Driver {
public static void Main(string [] args) {
String [] s = {"Bob", "Jane", "Will", "Bill", "Liz"};
Console.WriteLine("Before Sorting:\n----------");
foreach(string item in s) {
Console.WriteLine("{0}. {1}", Array.BinarySearch(s, item) + 1, item);
}
Console.WriteLine("Will is at position {0}", Array.BinarySearch(s, "Will") + 1);
Console.WriteLine("\n\nAfter Sorting:\n----------");
Array.Sort(s);
foreach(string item in s) {
Console.WriteLine("{0}. {1}", Array.BinarySearch(s, item) + 1, item);
}
Console.WriteLine("Will is at position {0}", Array.BinarySearch(s, "Will") + 1);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
Before Sorting:
----------
1. …Run Code Online (Sandbox Code Playgroud) 我的理解是当一个Task抛出异常时,当观察到Tasks的(Result,WaitAll)属性或GC发生时,它会被存储并重新抛出.鉴于此,我运行以下代码.
Task t = Task.Factory.StartNew(() =>
{
throw new Exception("Hello World");
});
for (int i = 0; i < 10000; i++)
{
Console.WriteLine(i);
}
GC.Collect();
for (int a = 20; a < 30; a++)
{
Console.WriteLine(a);
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行上面的代码时,我除了在GC.Collect上抛出一个异常但它没有发生,而是继续从第二个循环打印输出.我的理解在哪里错了?
我对jQuery及其用法有足够的了解但是今天我遇到th了table使用jQuery 获取匹配标签的列索引的麻烦.我想获得th具有label文本的元素索引为Mobile.在这种情况下,索引应为2.我得到的是实际索引,但这不是正确的方法.所以我想知道为什么jQuery没有给我正确的索引使用index()方法.
我也为此编写了JS Fiddler.
jQuery的
var elem = $('#tbl th');
var rIndex;
alert('Length : ' + elem.length);
var index = elem.filter(
function(index){
var labelText = $(this).find('label').text();
//alert(index + ' - ' + labelText);
var result = labelText == 'Mobile';
if (result)
rIndex = index;
return result;
}).index();
alert("jQuery Index : " + index);
alert("Actual Index : " + rIndex);
Run Code Online (Sandbox Code Playgroud)
HTML
<table id="tbl">
<tr>
<td></td>
<th><label>Application No.</label></th> …Run Code Online (Sandbox Code Playgroud) 我认为解释我的问题的最好方法是使用简短的(通用的)linq-to-objects代码示例:
IEnumerable<string> ReadLines(string filename)
{
string line;
using (var rdr = new StreamReader(filename))
while ( (line = rdr.ReadLine()) != null)
yield return line;
}
IEnumerable<int> XValuesFromFile(string filename)
{
return ReadLines(filename)
.Select(l => l.Substring(3,3))
.Where(l => int.TryParse(l))
.Select(i => int.Parse(i));
}
Run Code Online (Sandbox Code Playgroud)
请注意,此代码解析整数两次.我知道我错过了一种明显的简单方法来安全地消除其中一个呼叫(因为我之前已经完成了).我现在找不到它.我怎样才能做到这一点?
我正在使用一个位于(例如)a StreamReader或者顶部的界面SqlDataReader.接口公开一个方法,GetNext()如果有任何对象,或者null如果没有剩下,则返回一个对象.
public interface ICollectionWidget<T>
{
T GetNext(); // Returns a T if there are any left, or null if there aren't
}
Run Code Online (Sandbox Code Playgroud)
我需要并行处理每个T返回的GetNext(),并在GetNext()返回时停止处理 null.我不太确定这是怎么做的(使用TPL或其他).我需要一种平行while!显然,我不希望任何线程仍然处理完成,当我得到一个null,我只是不想添加任何新的处理 - 然后当所有线程完成他们正在做的事情时退出'循环' .
有人可以帮忙吗?如果我的问题没有意义,请告诉我.
我想做的事情很简单,虽然我遇到了困难.我有一个字符串是一个网址,它将具有格式http://www.somedomain.com?id=someid我想要检索的是someid部分.我想我可以使用正则表达式,但我对它们不是很好,这是我试过的:
Match match = Regex.Match(theString, @"*.?id=(/d.)");
Run Code Online (Sandbox Code Playgroud)
我得到一个正则表达式异常,说解析正则表达式时出错.我读的方法就是"any number of characters"则文本"?id="跟随"by any number of digits".我把数字放在一个组中,这样我就可以将它们拉出来.我不确定这有什么问题.如果有人能告诉我我做错了什么我会很感激,谢谢!
我对在 C# 中使用 WebRequests 还很陌生,想要一些帮助登录 YouTube 并将 cookie 存储到 cookie 容器中。任何帮助将非常感激。
c# ×8
.net ×1
c#-4.0 ×1
code-behind ×1
html ×1
html-table ×1
indexing ×1
itextsharp ×1
jquery ×1
less ×1
linq ×1
login ×1
pdf ×1
regex ×1
task ×1
while-loop ×1
wpf ×1
youtube ×1