string strI;
for (int i = 1; i < 100; i++)
strI = i.ToString();
Run Code Online (Sandbox Code Playgroud)
在这里,如果i = 1那么ToString收益"1"
但我想得到 "01"或"001"
它看起来很简单,但只有文章
datetime.ToString("yyyy-MM-dd")`
Run Code Online (Sandbox Code Playgroud) 我正在学习WPF,我遇到了以下问题:
我的另一个命名空间中的枚举类型比我的XAML:
public enum NodeType
{
Type_SYSTEM = 1, // System
Type_DB = 2, // Database
Type_ROOT = 512, // Root folder
Type_FOLDER = 1024, // Folder
}
Run Code Online (Sandbox Code Playgroud)
在我的XAML中,我想用整数触发图像
<Image.Style>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding Type}" Value="{NodeType: }">
<Setter Property="Source" Value="/Images/DB.PNG"/>
</DataTrigger>
<DataTrigger Binding="{Binding Type}" Value="128">
<Setter Property="Source" Value="/Images/SERVER.PNG"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
Run Code Online (Sandbox Code Playgroud)
有没有办法获取整数值并直接在XAML代码中将其与枚举类型进行比较?
我的枚举是命名空间 AnotherNamespace.Types
<DataTrigger Binding="{Binding IntegerType}" Value="MyEnumType.Type_DB">
<Setter Property="Source" Value="/Images/SERVER.PNG"/>
Run Code Online (Sandbox Code Playgroud)
在尝试签署由我工作的公司创建的一些安装程序时,我遇到了一个错误,我无法解决.我使用相同的证书,已成功使用另一台机器(Win7)以相同的方式签署准相同的安装程序.无论如何,在运行CruiseControl.net的Windows Server 2008上,我尝试使用signtool.exe对安装程序进行签名,但它失败并出现以下错误:
The following certificates were considered:
Issued to: <our company>
Issued by: <some ca>
Expires: <is valid>
SHA1 hash: <...>
Issued to: <...>
Issued by: <...>
Expires: <...>
SHA1 hash: <...>
After EKU filter, 1 certs were left.
After expiry filter, 1 certs were left.
After Subject Name filter, 1 certs were left.
After Private Key filter, 0 certs were left.
SignTool Error: No certificates were found that met all the given criteria.
Run Code Online (Sandbox Code Playgroud)
我尝试将证书安装到不同的证书库,尝试使用不同版本的signtool.exe并尝试直接使用.cer文件,但没有区别.我在所有情况下都收到了上述错误.我尝试了以下命令行命令
signtool.exe sign /debug /n …Run Code Online (Sandbox Code Playgroud) 我遇到以下构建错误:
此项目使用的Microsoft.NET.Sdk版本不足以支持对面向.NET Standard 1.5或更高版本的库的引用.请安装.NET Core SDK 2.0或更高版本.

每当我重建解决方案时,都会显示此错误.有谁知道如何解决这个问题?我确定我已经正确安装了Visual Studio 2017(15.3.2)和.NET Core 2.0.

我目前正在为iPhone X更新一些视图.根据这篇博文,它应该是相当直接的,但是 - 像往常一样 - 它并不像它应该的那样平滑.
如果您使用推荐的方式
public MyView()
{
InitializeComponent();
On<Xamarin.Forms.PlatformConfiguration.iOS>().SetUseSafeArea(true);
}
Run Code Online (Sandbox Code Playgroud)
视图的项目Margin根据安全区域插入给出,但这也适用于SearchBar已经适应开箱即用插图的视图.使用上面的代码将导致搜索栏的灰色背景不占据整个宽度,这看起来很奇怪.
幸运的是,On<iOS>有一个扩展方法SafeAreaInsets(),它返回正确的插入 - 在某些条件下 - 例如可以分配给一个BindableProperty.不幸的是,我们获得内容的条件并不十分一致.
OnSizeAllocated第一次被召唤时,SafeAreaInsets()将返回0,0,0,0SafeAreaInsets()返回正确的值(in OnAppearing)OnSizeAllocated 旋转后称为乘法
SafeAreaInsets()返回正确的值SafeAreaInsets()回来了0,0,0,0我当前的工作解决方案是,如果Thickness返回的SafeAreaInsets()不是,则覆盖两者并仅设置我的可绑定属性(绑定到我的视图)default(Thickness).
我想知道是否有一种标准的方法来始终获得正确的插入,而不必检查插入是否具有声音值.
我们正在使用 Azure 存储帐户来存储一些文件,这些文件将由我们的应用程序根据用户需求下载。
即使不应该有写操作(至少我想不到),但我们在计费周期的几天内超出了包含的写操作(见图)。
至于价格,还在限制范围内,但我还是想知道这是否正常,我该如何分析。除了我们正在使用的存储
但它们都不应该导致那么多的写操作。我检查了我们函数的日志,最近没有一个访问队列或 blob 的函数处于活动状态。有一些函数会时不时地运行,但每隔几分钟才运行一次,并且根本不访问存储。
我不知道这是否相关,但我们的 blob 存储有一种周期性的入口(见下图)。周期大约为 1 小时,但每 5 分钟有 100 kB 的基线。
进一步分析存储帐户的指标,我发现 blob 每小时有 1.90k 事务,队列每小时有 1.3k 事务,这对我来说似乎非常特殊。(请注意,此图的分辨率为 1 小时,而前者的分辨率为 5 分钟)
我还能做些什么来分析写操作的来源?这让我很困扰,因为它似乎不应该是那样。
我目前正在评估如何从 Xamarin.Forms 生成 PDF(当前仅在 Android 上运行该应用程序)并检查PdfSharp 的 .NET Standard 端口。
绘制 PDF 并显示它可以工作,但我在向文档写入文本时遇到问题。当我尝试XFont使用以下代码加载时
var font = new XFont("sans-serif", 20);
Run Code Online (Sandbox Code Playgroud)
它失败了,但有例外
System.InvalidOperationException:找不到合适的字体。
根据这些示例,它应该以这种方式工作,但它们适用于 PdfSharp.Xamarin 而不是 PdfSharp .NET Standard。根据这个答案,字体"sans-serif"系列应该是正确的,但我拼命尝试了其他选项,例如"Roboto",但无济于事。
PdfSharp for .NET Standard 是否与 Xamarin 兼容?(它将 PdfSharp.Xamarin 列为创建它的来源,因此我假设它。)还有什么我错过的吗?
编辑
我尝试了 PdfSharp.Xamarin,它确实有效。显然这是 .NET Standard 端口的问题。
我正在使用 .NETDateTime类型并希望按以下格式打印日期
“2017-08-23T11:33:14.653191-05:00”
我目前可以通过使用它来获得年月日的日期。
DateTime.UtcNow.ToString("yyyy-MM-dd")
Run Code Online (Sandbox Code Playgroud)
上面的代码导致“2017-08-23”,但我想要上述格式的日期。
有没有办法检查Xamarin Forms中的键盘是否打开?键盘打开或关闭时是否有任何事件被触发?如果是这样,我在哪里可以找到它的一个例子?
我想查询一个表和一个字段分组BillPeriodId,我正在按照本文中的示例的方式实现它.以下是进行分组的方法
public List<BillPeriodLine> GetLinesGroupedByPeriod()
{
var linesGrouped = _lineRepository.AllIncluding(p => p.BillPeriod)
.GroupBy(pl => pl.BillPeriodId)
.Select(g => new Group<int, BillPeriodLine>
{
Key = g.Key,
Values = g
});
return new List<BillPeriodLine>(linesGrouped);
}
Run Code Online (Sandbox Code Playgroud)
可发现类型
public class Group<T, K>
{
public K Key;
public IEnumerable<T> Values;
}
Run Code Online (Sandbox Code Playgroud)
但它强调g.Key了以下错误消息:
无法将类型'int'隐式转换为'BillTracker.Entities.BillPeriodLine'
除了我正在使用lamda表达式之外,它正是在示例中完成的方式.它使用LINQ语句提供相同的错误.我不知道我做错了什么.Sompne指向正确的方向吗?
c# ×5
.net ×2
android ×1
asp.net-core ×1
azure ×1
billing ×1
c#-4.0 ×1
certificate ×1
code-signing ×1
enums ×1
iphone-x ×1
linq ×1
pdfsharp ×1
private-key ×1
signtool ×1
string ×1
triggers ×1
windows ×1
wpf ×1
xaml ×1