小编Ian*_*Ian的帖子

MVVM的虚拟机可以重复使用吗?

我只需要简单说明一下:

我有一个带球模型的示例应用程序,有两个视图(假设一个视图显示了球,并允许您使用鼠标来调整大小,单击更改其颜色,第二个视图具有一个带有两个子控件的控件(大小文本框和颜色选择器))。

MVVM是说我必须在这里拥有两台VM,一个用于每个特定的View,还是可以在不破坏模式的情况下重用VM?

作为后续问题,如果需要我拥有两个VM是否合法,根据模式,将一个作为另一个的派生类型,或者将两个作为基类的派生类型,或者将其作为基于公共部分的复合类?基本上满足两种类型的需求,但可以提高重用性吗?

我的示例是人为设计的,我试图指出两个视图都影响模型的相同两个属性。两个视图之间的最大尺寸,可用颜色等相同。

谢谢

wpf mvvm

5
推荐指数
1
解决办法
1438
查看次数

WPF RotateTransform偏移问题

在下面的:

<Rectangle Height="60" HorizontalAlignment="Left" Margin="50,100,0,0" Name="rectangle2" Stroke="Black" VerticalAlignment="Top" Width="60" >
<Rectangle.RenderTransform>
    <TransformGroup>
        <RotateTransform Angle="45" CenterX="30" CenterY="30"/>
    </TransformGroup>
</Rectangle.RenderTransform>
Run Code Online (Sandbox Code Playgroud)

要在其中心旋转矩形,我必须将CenterX和Y设置为Rectangle大小的一半.有没有办法在标记中做到这一点?

像CenterX ="{Binding Path = Width\2}"之类的东西?

wpf rotatetransform

4
推荐指数
1
解决办法
3076
查看次数

实体框架 - 从实体中选择*,其中Id =(从实体中选择最大值(Id))

我有一个名为的实体集Entities,它有一个字段Name和一个字段Version.我希望返回具有所选的最高版本的对象Name.

SQL明智我会去

Select * 
from table 
where name = 'name' and version = (select max(version)  
                                   from table 
                                   where name = 'name')
Run Code Online (Sandbox Code Playgroud)

或类似的东西.不知道如何用EF实现这一目标.我试图使用CreateQuery<>查询的文本表示,如果这有帮助.

谢谢

编辑:这是一个使用两个查询的工作版本.不是我想要的,似乎非常低效.

var container = new TheModelContainer();
var query = container.CreateQuery<SimpleEntity>(
    "SELECT VALUE i FROM SimpleEntities AS i WHERE i.Name = 'Test' ORDER BY i.Version desc");
var entity = query.Execute(MergeOption.OverwriteChanges).FirstOrDefault();
query =
    container.CreateQuery<SimpleEntity>(
        "SELECT VALUE i FROM SimpleEntities AS i WHERE i.Name = 'Test' AND i.Version =" + …
Run Code Online (Sandbox Code Playgroud)

entity-framework

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

如何保护C#应用程序访问的sql服务器

简单而人为的例子:

C#桌面应用程序与SQL Server数据库对话.订单表中存在所有订单.

应用程序视图,创建和修改订单.在此示例中,用户只能修改自己的订单.

关注:

如果使用专用sql凭据,则存储连接字符串.即使使用了用户凭据,也可以通过直接通过Excel或Access连接来绕过应用程序安全性.

解决方案:

仅通过Web服务/中间件提供对SQL的访问.好,但在这种情况下不一定可行.

在应用程序的某处加密连接字符串.通过默默无闻的安全性不是很大.

通过授予对特定存储过程,视图等的访问权限来保护数据库,并且无法访问实际表.SP和视图考虑了用户的权限/凭证.太可怕了.好的简单示例(选择用户,在介绍不同组中的用户,经理关系等时变得复杂)

备择方案:

你会怎么做?

谢谢

c# sql-server security

3
推荐指数
1
解决办法
1663
查看次数

中断异常,除了*here*(Visual Studio 2010 C#)

调试菜单 - 异常 - 在公共语言运行时异常的Thrown中打勾.

当你这样做时,它会打破所有异常,这是很好的.

您可以向该包添加其他例外,或者启用或禁用个人,但这需要一些努力.

有没有办法使用source指令来压缩调试器?某种评论或实用语或类似的东西?

我有一些代码,我不能,没有抛出异常,调试器中断它有点痛苦.我更喜欢在任何抛出的异常中使用VS break,只是,在这种情况下,没有这个.谢谢

c# exception visual-studio-2010

3
推荐指数
1
解决办法
806
查看次数

存储库和持久性再次无知

这就是我要去的地方.

我有一个通用的Repository类Repository<TKey, TValue>.它具有通常的Repository模式方法.

每个存储库都IContext<TKey, TValue>在其构造函数中使用,该构造函数为存储库提供持久性.

我有专门的存储库,它们由通用的存储库组成,然后是针对专用对象特定的存储库操作定制的方法.因此,如果我有一个专门的Kitten对象存储库,它将有ClimbTree(可能采用树对象)但不是BuryBone(骨骼骨骼)方法的方法.我做得很糟糕的一点是它在小猫和它的树之间建立了一种需要持久化的关联.void CleanWhiskers()可能是一个更简单的例子.这使小猫的胡须清洁.

所以我现在正在考虑一个相关子对象持久性的方案,并开始怀疑我是否已经有点错误了.

我从存储库中稍微丑陋的方法开始创建子对象.因此,Kitten存储库将有一个方法CreateFurBall()可以将FurBall对象添加到Kitten的FurBall集合中,并将Furball添加到要保留的FurBall存储库(实际上是相同的对象).

我现在改为一个系统,我有一个类似于ObservableCollection的东西,它在添加POCO时通知其父存储库.所以我可以创建一个POCO furball并将其添加到集合中,然后将自动注册到furball存储库.

首先,我将在上下文中实现nHibernate,我认为这相当好.这是一个非常开放的问题,对于之前一直沿着这条路走下去的人来说,你能看到任何让你走"停!"的东西.

c# repository

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

无损失的反应(RX)油门

在我开始写一个之前,我认为值得一问:RX 有一个油门扩展方法,如果事件发生得太快,它会丢弃事件。

因此,如果您要求它将事件限制为每 5 秒 1 个,如果您在 0.1 秒后收到一个事件,然后在 1 秒后收到第二个事件,您将收到一个事件,然后是静音。

我想要的是它在 0.1 秒后引发第一个事件,但在 4.9 秒后引发另一个事件。

此外,如果我在 0.1、1 和 2 秒收到事件,我希望它在 0.1 秒、5 秒时引发事件,然后什么都不发生,所以我不希望它捕获 n 个事件并且每个周期只释放一个 n 个周期.

Buffer 做相反的事情,因为它将所有内容保存 5 秒,然后引发事件,所以既不是油门也不是缓冲区,而是介于两者之间的东西。

有没有办法用现有的框架来做到这一点,还是我需要写一个?

c# system.reactive

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

WPF Element.Effect,停止影响子元素?

我已将效果应用于此模板的边框.然后效果会应用到其中的每个元素,因此我得到的阴影比我照顾的要多.有没有办法禁用这种效果?你可以看到我在里面添加了一个模糊效果,但后来我最终得到了模糊的阴影:)

DataTemplate  x:Key="TestInstanceViewModelTemplate">
    <Border BorderThickness="1" BorderBrush="#FF0909B4">
        <Border.Effect>
            <DropShadowEffect/>
        </Border.Effect>
        <DockPanel>
            <DockPanel.Effect>
                <BlurEffect/>
            </DockPanel.Effect>
            <Grid DockPanel.Dock="Top">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition MinWidth="50" Width="1*" />
                    <ColumnDefinition MinWidth="50" Width="1*"/>
                </Grid.ColumnDefinitions>
                <Button Command="{Binding Path=StartCommand}" Content="Start" Grid.Column="0" Grid.Row="0" />
                <Button Command="{Binding Path=StopCommand}" Content="Stop" Grid.Column="1" Grid.Row="0"/>
            </Grid>
            <WpfTestingClient:StatusControl DockPanel.Dock="Top" HorizontalAlignment="Stretch"></WpfTestingClient:StatusControl>
        </DockPanel>
    </Border>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

wpf graphics xaml dropshadow

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

Web API 2中的方法名称约定

是否有Web API 2中使用的约定列表?

以这两种方法为例.两者都有效,都没有装饰属性.

IHttpActionResult GetMyModel(int id)

IEnumerable<MyModel> GetAllMyModels()
Run Code Online (Sandbox Code Playgroud)

Get响应路由"{controller}/{action}/{id}",所以我认为GetAllMyModels因为它的返回类型而起作用?还是GetAll前缀?

还有其他惯例吗?

与此相关的,为什么会GetAllMyModels返回一个枚举,而GetMyModel返回MyModelIHttpActionResult?如果我回来IHttpActionResultGetAllMyModels

谢谢

c# asp.net-web-api2

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

如何阻止TFS不断尝试添加nuget包文件夹?

TFS有某种.gitignore吗?上下文菜单中没有任何内容.

tfs visual-studio-2015

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

RX,Reactive Extensions WPF,简单引用问题

我想玩RX,我下载了4.0 WPF版本,安装它并开始寻找它的功能示例.我发现了各种代码,我应该很简单,可以复制并粘贴到一个新项目中并开始运行.

我似乎需要参考各种程序集,我找不到任何文档.到目前为止,我有:

Microsoft.Expression.Interactions
C:\Program Files (x86)\Microsoft SDKs\Expression\Blend 3\Interactivity\Libraries\WPF\Microsoft.Expression.Interactions.dll

System.CoreEx
C:\Program Files (x86)\Microsoft Cloud Programmability\Reactive Extensions\v1.0.2856.0\Net4\System.CoreEx.dll

System.Interactive
C:\Program Files (x86)\Microsoft Cloud Programmability\Reactive Extensions\v1.0.2856.0\Net4\System.Interactive.dll

System.Reactive
C:\Program Files (x86)\Microsoft Cloud Programmability\Reactive Extensions\v1.0.2856.0\Net4\System.Reactive.dll

System.Windows.Interactivity
C:\Program Files (x86)\Microsoft SDKs\Expression\Blend 3\Interactivity\Libraries\WPF\System.Windows.Interactivity.dll
Run Code Online (Sandbox Code Playgroud)

所以我使用了混合3中的DLL(我已经安装了混合3和4,找不到4版本)然后是看似核心的RX ...

有关这方面的任何建议,指出文档的位置是什么?行为需要交互引用,但实际上这对我来说也是新的.

谢谢伊恩

wpf system.reactive

0
推荐指数
1
解决办法
1317
查看次数

Windows Phone 8游戏开发

我现在正在为WP8安装SDK并提出一些问题.XNA似乎得到支持,但仅限于传统模式.所以对于游戏的东西我假设你有基于XAML的选择,......什么,它仍然是Silverlight?如果游戏是3D或图形密集型,那么它是C++和Direct X?

C#中是否有可选的托管Direct X用于游戏?

还是一些XAML + DirectX混合?

谢谢

windows-phone-8

0
推荐指数
1
解决办法
1585
查看次数