我将把ReportViewer放在WindowsFormsHost中,开始在WPF应用程序中使用MS ReportViewer.
这是正确的方法吗?设计报告的最佳方法是什么,因为在WindowsFormsHost中无法在设计时使用ReportViewer.
最好在SQL Server中创建RDL报告,然后将其转换为RDLC,或者创建新的Winforms应用程序以在WinForms框架中创建RDLC文件,然后将其复制到WPF应用程序.
我需要通过下拉列表过滤报告,因此也需要考虑这个方面.如果有人已经在WPF中使用ReportViewer,我会很感激对最佳方法的一些反馈.....非常感谢.
我采用了似乎是使用IDataErrorInfo接口和样式验证WPF中文本框的标准方法,如下所示.但是,如何在页面无效时禁用"保存"按钮?是通过触发器以某种方式完成的吗?
Default Public ReadOnly Property Item(ByVal propertyName As String) As String Implements IDataErrorInfo.Item
Get
Dim valid As Boolean = True
If propertyName = "IncidentCategory" Then
valid = True
If Len(IncidentCategory) = 0 Then
valid = False
End If
If Not valid Then
Return "Incident category is required"
End If
End If
Return Nothing
End Get
End Property
Run Code Online (Sandbox Code Playgroud)
<Style TargetType="{x:Type TextBox}">
<Setter Property="Margin" Value="3" />
<Setter Property="Height" Value="23" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel LastChildFill="True">
<Border BorderBrush="Red" …
Run Code Online (Sandbox Code Playgroud) 我正在计算两个日期之间的差异,其中有许多不同的例子可用.返回的时间以毫秒为单位,因此我需要将其转换为更有用的内容.
大多数例子都是几天:小时:分钟:秒或小时:分钟,但我需要几天:小时:分钟,所以秒应该四舍五入到分钟.
我目前正在使用的方法接近但显示3天为2.23.60,当它应该显示3.00.00,所以有些东西不太正确.由于我刚从Web上的示例中获取当前代码,因此我愿意接受有关其他方法的建议.
我通过从结束日期减去开始日期来获得以毫秒为单位的时间,如下所示: -
date1 = new Date(startDateTime);
date2 = new Date(endDateTime);
ms = Math.abs(date1 - date2)
Run Code Online (Sandbox Code Playgroud)
我基本上需要使用ms变量并将其转入days.hours:minutes.
我有兴趣使用AsNoTracking
我的LINQ选择查询来提高性能.我正在使用Code First的Entity Framework 5.
但是,我的所有查询都是使用LINQ Query语法编写的,所有AsNoTracking
示例都是使用Method语法显示的.我知道这AsNoTracking
是为Method语法创建的,但是如何使用Query语法实现相同的功能呢?
以前在使用 Azure Blob 存储 SDK V11 时,如果您想创建容器但不确定容器是否存在,则可以使用 CreateIfNotExists。
但是在 V12 版本中,CreateIfNotExists 不再可用,我从 Microsoft 找到的唯一示例是简单地创建一个 Container,而不检查它是否已经存在。
那么,有没有人知道 V12 中在尝试创建容器之前检查容器是否存在的最佳实践。
顺便说一句,我正在为 ASP.Net Core 3.1 开发。
azure azure-storage azure-storage-blobs azure-blob-storage asp.net-core
有任何建议如何将XAML矢量图像作为窗口背景?有很多代码用jpg显示这个,但我更喜欢基于矢量的图像.
将它作为一种资源也是一种奖励,但我对最好的方法感到难过.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Viewbox x:Key="Background2" Stretch="Fill">
<Canvas >
<!-- Ebene 1/<Path> -->
<Path Fill="#ff000000" Data="F1 M 841.890,595.275 L 0.000,595.275 L 0.000,0.000 L 841.890,0.000 L 841.890,595.275 Z"/>
<!-- Ebene 1/<Path> -->
<Path Data="F1 M 265.910,218.277 C 265.910,169.332 223.865,129.655 172.000,129.655 C 120.135,129.655 78.090,169.332 78.090,218.277 C 78.090,267.222 120.135,306.898 172.000,306.898 C 223.865,306.898 265.910,267.222 265.910,218.277 Z">
<Path.Fill>
<RadialGradientBrush MappingMode="Absolute" GradientOrigin="172.733,217.234" Center="172.733,217.234" RadiusX="81.912" RadiusY="81.912">
<RadialGradientBrush.GradientStops>
<GradientStop Offset="0.00" Color="#ff0d4976"/>
<GradientStop Offset="0.41" Color="#ff06243b"/>
<GradientStop Offset="1.00" Color="#ff000000"/>
</RadialGradientBrush.GradientStops>
<RadialGradientBrush.Transform>
<MatrixTransform Matrix="1.146,0.000,0.000,1.082,-26.038,-16.750" />
</RadialGradientBrush.Transform>
</RadialGradientBrush>
</Path.Fill>
</Path>
</Canvas> …
Run Code Online (Sandbox Code Playgroud) 我有以下代码来显示客户年龄.
<TextBox x:Name="txtClientAge" Text="{Binding Path=ClientAge}" />
Run Code Online (Sandbox Code Playgroud)
然而,我不是只显示数字,而是用文本"Age"作为前缀,并以文本"yrs"为后缀,因此它实际上变为"年龄36岁"
我可以使用水平StackPanel和3个文本框来实现这一点,但是有一个更简单的方法,我错过了吗?
我有一个查询,总计了2010年1月1日所有活动的案例.
SELECT COUNT(CaseID) AS Total
FROM dbo.ClientCase
WHERE (CaseStartDate <= CONVERT(DATETIME, '2010-01-01 00:00:00', 102)) AND (CaseClosedDate >= CONVERT(DATETIME, '2010-01-01 00:00:00', 102)) OR (CaseClosedDate IS NULL)
GROUP BY CaseStartDate
Run Code Online (Sandbox Code Playgroud)
我还有一个Calendar表,我可以使用它创建一个查询,从1月1日,2月1日,3月1日到12月1日返回12个日期.
我无法弄清楚如何组合2个查询,所以我得到每个月1日的所有案例总数的计数.
我需要看到类似的东西
Month Total
Jan 102
Feb 130
Mar 145
.....
Dec 162
Run Code Online (Sandbox Code Playgroud) 我正在使用WPF Slider控件(我猜测Silverlight版本类似),它设置为水平,最小值为0,最大值为5.
我想在刻度线下面显示0到5的值,以使拇指当前指向的值更明显一些.
这是可能的,有没有人设法实现这一目标?
wpf ×6
.net ×1
asp.net-core ×1
azure ×1
background ×1
binding ×1
c# ×1
datetime ×1
icons ×1
image ×1
javascript ×1
linq ×1
mouse ×1
reportviewer ×1
save ×1
silverlight ×1
slider ×1
sql-server ×1
text ×1
textbox ×1
totals ×1
validation ×1
window ×1
xaml ×1