小编Neu*_*ino的帖子

VS2010禁用xaml中的大纲,(或完全禁用大纲)

在Visual Studio 2010中,如何禁用XAML文件中的大纲?或者甚至更好地完全禁用所有内容的概述.

每当我将鼠标从编辑器窗格移动到解决方案资源管理器时,鼠标就会越过那个愚蠢的概述小部件并导致一半编辑器开始闪烁,这是有史以来最烦人的事情.

visual-studio-2010

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

View-First-MVVM中的UserControls和viewmodels

我被迫在WPF应用程序中使用View First MVVM,我很难看到如何使它优雅地工作.

问题的根源在于嵌套UserControls.在MVVM架构中,每个都UserControl需要将其视图模型分配给它DataContext,这使得绑定表达式保持简单,而且这也是WPF实例化通过a生成的任何视图的方式DataTemplate.

但是,如果子项UserControl具有父项需要绑定到其自己的viewmodel的依赖项属性,则子项UserControl将其DataContext设置为其自己的viewmodel这一事实意味着父XAML文件中的"隐式路径"绑定将解析为子视图模型父母的.

要解决这个UserControl问题,应用程序中每个父项的每个父项都需要默认使用显式命名绑定(这是详细的,丑陋的和错误的),或者必须知道特定控件是否将其DataContext设置为自己的viewmodel是否使用适当的绑定语法(同样是errorprone,并且是对基本封装的重大违反).

经过几天的研究,我没有遇到过这个问题的一半解决方案.我遇到的最接近解决方案的是将UserControl'sviewmodel 设置为UserControl(最顶层Grid或其他)的内部元素,这仍然会让您在尝试将UserControl自身的属性绑定到自己的viewmodel时遇到问题!(ElementName绑定在这种情况下不起作用,因为绑定将在指定元素之前声明,并且viewmodel分配给它DataContext).

我怀疑没有其他人遇到这个问题的原因是他们要么使用viewmodel第一个没有这个问题的MVVM,要么他们使用视图第一个MVVM和一个依赖注入实现来解决这个问题.

有没有人为此提供干净的解决方案?

更新:

请求的示例代码.

<!-- MainWindow.xaml -->
<Window x:Class="UiInteraction.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:UiInteraction"
        Title="MainWindow" Height="350" Width="525"
        x:Name="_this">

    <Window.DataContext>
        <local:MainWindowVm/>
    </Window.DataContext>

    <StackPanel>
        <local:UserControl6 Text="{Binding MainWindowVmString1}"/>  
    </StackPanel>

</Window>
Run Code Online (Sandbox Code Playgroud)
namespace UiInteraction
{
    // MainWindow viewmodel.
    class MainWindowVm
    {
        public string MainWindowVmString1
        {
            get { return "MainWindowVm.String1"; …
Run Code Online (Sandbox Code Playgroud)

wpf xaml binding mvvm

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

如何在没有科学记数法或尾随零的情况下输出float到cout?

在C++中输出浮点数的最优雅方法是什么,没有科学记数法或尾随零?

float a = 0.000001f;
float b = 0.1f;

cout << "a: " << a << endl;     //  1e-006 terrible, don't want sci notation.
cout << "b: " << b << endl;     //  0.1 ok.

cout << fixed << setprecision(6);
cout << "a: " << a << endl;     //  0.000001 ok.
cout << "b: " << b << endl;     //  0.100000 terrible, don't want trailing zeros.
Run Code Online (Sandbox Code Playgroud)

c++

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

在 TypeScript 中公开只读集合的​​最简洁方法是什么?

如何定义一个类型,该类型公开对可以由类型本身在内部操作的集合的只读访问?

我正在寻找一种具有最少样板文件的方法。

更新

感谢到目前为止的答案,但这应该能让我更清楚地了解我在寻找什么。

export class Item {
   public Prop1: number;
   public Prop2: string;
}


export class Container {

   public get Items(): ??? {
      // Return something that enables the client to access and modify individual items but _not_ change the contents
      // of the _items array, ideally without just copying the entire array.
   }

   private _items: Item[] = [];
}
Run Code Online (Sandbox Code Playgroud)

typescript

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

SVN.重试交互式冲突解决方案

如果我在SVN中进行更新导致冲突,SVN为我提供了一系列处理每个文件冲突的选项,包括接受文件,启动外部合并程序或推迟冲突解决.

如果我选择推迟解决冲突,我该如何让SVN重复冲突解决过程.具体来说,如何让SVN重新选择接受文件或启动外部合并工具?

[更新]回应Thomas和Skippy的回复.

谢谢你的回答.因此,SVN似乎没有重新运行冲突解决过程的命令.我个人觉得很糟糕.

SVN冲突解决过程的一个选择是选择我希望保留的文件.在SVN中执行此操作具有以下优点:SVN本身然后处理复制和删除适当的文件,这排除了用户直接混乱文件系统并减少出错的可能性的需要.

SVN冲突解决过程提供的另一个选择是启动外部合并编辑器的选项.可以在SVN配置文件中配置已启动的编辑器及其设置方式.这非常方便,因为这意味着用户无需手动将三个文件加载到外部合并编辑器中.

除此之外,它还没有被编码是否有任何理由SVN不提供重启冲突解决过程的工具?(也许通过仅使用路径参数调用svn resolve).这样做的另一个原因是,它可以提供解析一个文件的选择,或者在工作副本或工作副本中的子树上递归递归的功能.

svn

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

C++重载函数按返回类型

如果我认为我对C++一无所知,那就是你不能通过返回类型重载函数.

那么有人能解释一下这里发生了什么吗?

class A { public: typedef int _foo; };
class B {};

template<class T>
typename T::_foo Foo(int)
{
    cout << "Foo(int)\n"; return typename T::_foo();
}

template<class T>
typename T Foo(char)
{
    cout << "Foo(char)\n"; return typename T();
}

int main()
{
    Foo<A>(0);      // Writes "Foo(int)", as expected.
    Foo<B>(0);      // Writes "Foo(char), expected error unable to compile template.
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有两个类A和B. A定义typedef _foo,B不定义.函数模板Foo,Foo(int)和Foo(char)有两个重载.Foo(int)返回T :: _ foo,Foo(char)返回T.

然后调用Foo(0)两次.这与Foo(int)完全匹配,所以我希望Foo <A>(0)编译好,而Foo <B>(0)编译失败,因为B没有定义模板中使用的类型_foo.

实际发生的是Foo <B>(0)完全忽略Foo(int)并实例化Foo(char).但是通过正常的重载决策规则,Foo(0)显然是Foo(int)的精确匹配,并且使Foo(char)成为更可行的匹配的唯一因素是不应该考虑的返回类型.

要验证它是影响重载决策的返回值,只需添加:

template<class T>
void Bar(int)  { typename T::_foo …
Run Code Online (Sandbox Code Playgroud)

c++

6
推荐指数
2
解决办法
634
查看次数

我可以使用 Docker 容器来使用 Xamarin 构建 Android 应用程序吗

阅读有关 Docker 和容器化应用程序开发的 Microsoft 文档,它没有清楚地描述您可以做什么和不能做什么。

作为开发人员,容器的一个引人注目的用例是能够在容器内拥有我的实际开发环境,这样当我需要在不同的物理机器上处理特定项目时,我只需从容器注册表安装必要的容器即可然后我就走了。

Microsoft 文档似乎暗示,但实际上并没有明确说明,这对于 Dotnet Core 应用程序确实是可能的,但没有提及这对于哪些其他应用程序类型(如果有)是可能的。

举一个具体的例子。我想使用 Xamarin 构建 Android 应用程序。我不想全局安装特定版本的 Android SDK,也不想安装多个全局 Android SDK 以便在处理不同项目时在它们之间进行切换。相反,我想在 Docker 容器中使用 Android 构建环境。

这可能吗?如果是这样,是否有任何文档描述我如何解决这个问题?

如果这是不可能的,并且作为开发人员,我仍然必须为我在本地工作的每种类型的项目、在我使用的每台开发机器上安装完整的构建环境,那么作为开发人员,我真的不明白 Docker 对我有什么用处。在这种情况下,它似乎主要是一个 ProdOps 工具。

android visual-studio xamarin docker

6
推荐指数
0
解决办法
643
查看次数

VsCode clean Typescript 项目没有自动导入建议

当我使用 Typescript 创建新的 Node 项目时,VsCode 自动导入建议根本不起作用。

重现步骤:

创建工作区目录。

运行npm init指定main.ts为入口点文件。

导入 typescript clinpm i typescript

创建 tsconfig.json.\node_modules\.bin\tsc --init

创建 main.ts 包含console.log('Running');

转译使用.\node_modules\.bin\tsc -w

Debug通过单击VsCode 并使用默认的 Nodejs 启动配置来运行。

导入库,例如 Rxjs 导入 typescript clinpm i rxjs

结果:

在 main.ts 中尝试使用任何 Rxjs 类型ObservableBehaviourSubject全局运算符from of sequenceEqual等都不会产生任何导入帮助。

我已阅读 VsCode Typescript 文档,没有任何迹象表明出了什么问题。https://code.visualstudio.com/docs/languages/typescript

我尝试在 tsconfig.json 中显式设置includeexclude目录,但这也没有效果。

我需要在 tsconfig 中手动设置一些模块解析选项吗?

我不知道,我不知道为什么这不起作用。

更新:

我设法通过指定使 VsCode 自动导入工作

"typeRoots": [ …
Run Code Online (Sandbox Code Playgroud)

node.js typescript visual-studio-code

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

如何在简单的三向关系上实现基于约束的参照完整性

我有三个简单的关系。TableBTableC既参考TableATableC也参考TableB

我发现无法在 SQL Server 中以通过约束强制执行参照完整性的方式对此进行建模,但这也允许从任何实体中删除记录,而无需复杂且低效的基于触发器的参照完整性检查,或手动删除相关实体正确的顺序。

这是我的架构。

create table TableA (
   Id int identity not null,
   constraint P_TableA_Id primary key (Id)
)

create table TableB (
   Id int identity not null,
   constraint P_TableB_Id primary key (Id),

   ARef int,
   constraint F_TableB_ARef foreign key (ARef) references TableA(Id) on delete cascade
)

create table TableC (
   Id int identity not null,
   constraint P_TableC_Id primary key (Id),

   ARef int,
   constraint F_TableC_ARef foreign key (ARef) references …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2016

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

Entity Framework Core 如何在迁移中查询数据库?

作为迁移的一部分,我需要更新数据库中的一些数据。

MigrationBuilder 有一个 Update 方法,它使我能够提供一组键和值来更新表。但是,如何在迁移过程中查询数据库以确定需要更新的值的键?

c# entity-framework-core

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