小编Ste*_*ood的帖子

测试实体框架数据库连接

我有一个通过实体框架连接到MYSQL数据库的应用程序.它100%完美地工作,但我想添加一小段代码,在app启动时测试与数据库的连接.

我只想简单地向数据库运行一个小命令并捕获任何异常,但是如果出现问题(例如App.Config缺失或数据库服务器关闭),应用程序需要花费大量时间来运行此代码然后抛出例外(约1分钟).我想这是由于连接超时等,但我摆弄这些属性无济于事.

是否有人能够协助任何想法去哪儿?

c# mysql testing entity-framework database-connection

33
推荐指数
5
解决办法
6万
查看次数

比较两个列表并返回不同的值和差异

我有两个清单:

List A {A, B, C, D}

List B {A, E, F, G}
Run Code Online (Sandbox Code Playgroud)

我需要制作三个列表:

一个只有列表A中的项目

(B,C,D)

一个只有列表B中的项目

(E,F,G)

一个与两个项目

(一个)

鉴于列表实际上是注册表项,可能会有大量的注册表项,因此如果我选择使用传统的ForEach或For(int i ...)方法,我可以预见到巨大的性能开销.

如果他们能有效地完成这项工作,我并不反对这些,但我更愿意使用Linq.

有没有人有任何想法?

我不关心相同的记录.

我已经创建了一个IEquatable<>将比较元素的类,但它是如何使用它来创建我正在努力的所需输出.

提前致谢.

顺便说一句,我使用VS2012与.NET 4.5

linq list duplicates c#-4.0

14
推荐指数
2
解决办法
1万
查看次数

剪切到WPF中的路径

我试图在WPF中创建一个用户控件,允许用户选择鞋子的特定区域(鞋跟,边缘,鞋底等)

这个想法是你有一个鞋子的图像(绘图),你可以点击单个部分并选择区域.

我正在使用一组模板化的复选框.

有一个复选框,其中包含定义边的路径,然后是一组定义各个区域的矩形.

鞋印

这很好用,除非它看起来不太好看.为了让它看起来更好,我想隐藏不在原始鞋道内的所有东西.

矩形全部位于网格中的单独行中,背景鞋跨越所有行.

我试图将父网格的Clip属性设置为与背景鞋边相同的路径,但得到了一些奇怪的结果:

在此输入图像描述

我很确定我的网格剪辑是正确的,但我不明白这里发生了什么.

如果有人可以帮助解决这个问题或建议更好的方法来完成同样的任务,我将不胜感激.

<Geometry x:Key="ShoeEdgeGeometry">M26.25,0.5 C40.471332,0.5 52,17.625107 52,38.75 52,51.292905 47.935695,62.425729 41.656635,69.401079 L41.349452,69.733874 42.012107,70.457698 C45.421829,74.364614 47.5,79.554564 47.5,85.25 47.5,97.400265 38.042015,107.25 26.375,107.25 14.707984,107.25 5.2499995,97.400265 5.2499991,85.25 5.2499995,79.554564 7.3281701,74.364614 10.737891,70.457698 L11.276058,69.869853 10.843364,69.401079 C4.5643053,62.425729 0.49999952,51.292905 0.5,38.75 0.49999952,17.625107 12.028667,0.5 26.25,0.5 z</Geometry>



 <Grid Margin="0"
          Clip="{StaticResource ShoeEdgeGeometry}">
        <Grid.RowDefinitions>
            <RowDefinition Height="2*" />
            <RowDefinition Height="4*" />
            <RowDefinition Height="2*" />
            <RowDefinition Height="2*" />
            <RowDefinition Height="2*" />
        </Grid.RowDefinitions>
        <!-- The edge check box-->
        <CheckBox x:Name="ShoeEdgeRegion"
                  Grid.Row="0"
                  Grid.RowSpan="5">
            <CheckBox.Style>
                <Style TargetType="CheckBox">
                    <Setter Property="Cursor"
                            Value="Hand" />
                    <Setter Property="Template">
                        <Setter.Value> …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml

11
推荐指数
2
解决办法
1748
查看次数

折叠所有内容时隐藏扩展器

我有一个WPF Datagrid,它有一个Collection View Source,上面有3个级别的分组.

我已经设置了datagrid样式以使用3个扩展器,使它看起来像这样:

Level 1 Expander
<content>
    Level 2 Expander
    <content>
        Level 3 Expander
        <content>
Run Code Online (Sandbox Code Playgroud)

2级和1级只是组的标题

我有第二个控件允许用户显示和隐藏3级项目,这些项目通过将Level 3扩展器绑定到后面对象中的布尔"IsVisible"属性来工作.

       <!--  Style for groups under the top level. this is the style for how a sample is displayed  -->
        <GroupStyle>
            <GroupStyle.ContainerStyle>
                <Style TargetType="{x:Type GroupItem}">
                    <Setter Property="Margin" Value="0,0,0,0" />
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type GroupItem}">

                                <!--  The parent control that determines whether or not an item needs to be displayed. This holds all of the sub controls displayed for a sample …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml expander

10
推荐指数
1
解决办法
1397
查看次数

SqliteConnection跟踪事件拒绝触发

我使用NUGET使用以下命令将Sqlite Core软件包安装到我的c#项目中:

>Install-Package System.Data.SQLite.Core
Run Code Online (Sandbox Code Playgroud)

我创建一个数据库连接如下:

var data = new SQLiteConnection(connectionString);
Run Code Online (Sandbox Code Playgroud)

然后我将事件处理程序挂钩到update事件,每次发生更新语句时触发该事件处理程序(出于特定业务逻辑的最后写入日期字段的目的)

data.Update += DataOnUpdate;
Run Code Online (Sandbox Code Playgroud)

这太棒了.但是,SqliteConnection类还公开了一个名为Trace的事件.文档说明了有关此事件的以下内容:

"This event is raised whenever SQLite Statement First begins executing on this connection. It only applies for the given connection"
Run Code Online (Sandbox Code Playgroud)

我读这意味着它执行与Update事件类似的功能,每当执行SQL语句时它都会触发.

然而

当我将此事件挂钩时如下:

data.Trace += DataOnTrace;
Run Code Online (Sandbox Code Playgroud)

它永远不会发射.我已经尝试过SELECT,UPDATE,DELETE,CREATE TABLE,TRANSACTIONS以及我能想到的Sql逻辑的每一点,并且它拒绝触发.

如果不开火,那么这个活动是什么?或者我需要做些什么才能获得连接以触发此事件?

c# sqlite visual-studio-2012

9
推荐指数
1
解决办法
1060
查看次数

使用触摸滑动拖动打开WPF扩展器

我需要一个可以通过触摸控制使用的扩展器.当用户触摸切换按钮时,我可以毫不费力地扩展扩展器,但是我想通过拖动扩展器进行扩展,(就像iPhone上从顶部向下滑动的扩展器一样)

我可以使用操作事件捕获滑动手势,我可以使用该事件打开扩展器.但是我不知道如何使扩展状态跟随手指.

我希望如果你拖动它的最终尺寸的某个百分比,如果你让它去,它会快速打开,如果小于这个百分比关闭.

我无所适从,无法在谷歌上找到与此问题相关的任何内容,因此我们将非常感激地收到任何帮助

c# wpf

8
推荐指数
1
解决办法
326
查看次数

单触读取滚动操作

我有一个WPF应用程序,旨在用于触摸屏.

我使用带有一组图像的列表视图,所选图像出现在全尺寸图像控件中

在触摸屏上,我可以通过触摸列表视图项上的图像来选择图像但是我有一个小问题.

当用户触摸屏幕时,用户手指通常在仍然与屏幕接触的同时略微移动,导致列表视图将触摸解释为滚动请求.

这意味着所需的选择仅在用户小心或在与屏幕接触时没有移动时实际发生.

我认为这是一个问题,它确定了请求滚动操作的阈值,但我无法找到解决此问题的任何方法.

有人可以帮忙吗?

c# wpf touch visual-studio-2015

8
推荐指数
1
解决办法
282
查看次数

重复按钮敲击

我有一个控件,允许用户在图像的特定部分执行一些重型图像处理,并且他们有箭头按钮在图像周围移动这个区域.

因为这个过程是非常繁重的(每次运行平均800毫秒)我使用了一个重复按钮,将其转换为"Ghost"并且仅在鼠标按下事件时执行该过程.

这非常有效并且解决了与此功能相关的大多数性能问题

然而

某些用户拒绝学习这种握持和释放的方法,并坚持点击按钮移动它而不是握住和释放.

这意味着每次敲击时都会调用重载方法,因为每次方法触发时它只会移动一个小的增量,所以当它尝试执行> 800这些800ms +进程时它们最终会挂起应用程序

我的问题

如何以与保持和释放相同的方式处理此敲击行为?

我想过一个计时器,但无法弄清楚我如何检测正常点击和最后一个点击之间的区别.

c# wpf visual-studio-2015

7
推荐指数
1
解决办法
732
查看次数

Reporting Services XML错误

我花了很长时间才真正烦人的问题.我将切换到软件测试错误报告模式(来自前世)来解释它.

脚本

  • 我修改了SSRS报告以使用新的数据库结构
  • 该报告使用一个存储过程,该过程需要4个参数
  • 添加了其中一个参数以使用新的数据库结构
  • 存储过程在SQL管理工作室中完美运行
  • 查询在报表生成器的查询设计器窗口中完美运行

预期成绩

  • 我希望数据集在展开时会显示字段
  • 我希望报告能够正确运行

实际结果

  • 报告生成器的"报告数据窗格"中的数据集下不显示任何字段
  • 报告没有运行
  • 我收到以下错误:

有一个未封闭的文字字符串.第1行,位置64737. ----------------------------响应不是格式良好的XML.----------------------------尝试连接到报表服务器失败.检查连接信息,并且报表服务器是兼容版本.

笔记

我已经尝试了我能想到的一切,包括在报告定义中搜索未闭合的字符串但没有香蕉.

有没有其他人在SSRS报告生成器中提出此错误?

使用的技术

  • SQL Server 2008 R2
  • SQL Server Management Studio 2008 R2
  • Report Builder 3.0
  • 在运行Windows 7的本地计算机上构建报告
  • 在运行Windows Server 2008的SQL Server远程计算机上运行报告

谢谢

sql sql-server sql-server-2008 reporting-services

6
推荐指数
1
解决办法
2527
查看次数

使用Infragistics对话框窗口平铺Windows偏移量

我使用Infragistics XamDialogWindow来近似WPF中的MDI窗口.

基本上我有一个用户控件,我分配给窗口的内容,然后将XamDialogWindow添加为Grid的子项.

然后我有两个按钮,将窗口显示为"Tile"或"Cascade".

级联工作得很好,但我遇到了Tile方法的问题.

我使用容器的"ActualWidth"和"ActualHeight"属性获得可用的宽度和高度.

然后我计算所需的行数和列数.

接下来我遍历列并计算列中有多少行(这意味着如果有奇数个窗口,例如5,我将在列0中有两行,在列1中有3行).

每个窗口的宽度计算为"AvailableWidth/numColumns"

每个窗口的高度计算为"AvailableHeight/WindowsForThisColumn"

然后我遍历行并计算我们定位的窗口的左上角坐标,如下所示:

left = columnIndex*width

top = rowIndex*height

然后设置窗口的Left,Top,Width和Height属性.

问题

例如,Left,Top,Width和Height属性似乎正确计算

  • AvailableWidth = 1000;
  • AvailableHeight = 1000;
  • Window1 = 0,0,500,500
  • Window2 = 0,500,500,500
  • Window3 = 500,0,500,500
  • Window4 = 500,500,500,500

这应该给出一个4个窗口的漂亮网格,没有边距填充所有可用空间,但这不是结果.

窗口似乎在显示时偏移(见下图).

如果我查看Left,Top,Width和Height属性,它们看起来都是正确的.

奇怪的是,如果我第二次单击"Tile",它们将全部正确显示.

如果我在第二次单击平铺后移动窗口,它们将正确显示.

我尝试过使用Canvas并设置Canvas.Left和Top属性,每次都有相同结果的网格,stackpanel和wrappanel.

谁能帮我?我认为WPF在渲染时测量尺寸和位置可能是一个问题

ImagesOffset

 var childrenToArrange = Children.Where(a => a.WindowState != Infragistics.Controls.Interactions.WindowState.Minimized).ToList();

        var availableWidth = Panel.ActualWidth;
        var availableHeight = Panel.ActualHeight;

        if (Layout == MDILayout.TILE)
        {
            //get the number of rows and columns
            int rows = (int)Math.Sqrt(childrenToArrange.Count);
            int columns = …
Run Code Online (Sandbox Code Playgroud)

c# wpf infragistics

6
推荐指数
1
解决办法
167
查看次数