我将把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