小编Bry*_*son的帖子

是否可以在Visual Studio Team System 2008中禁用自动合并选项?如果是这样的话?

我想在将文件签入到另一个开发人员已经处理过的TFS时禁用自动合并功能,这样我总是需要手动合并.有没有办法做到这一点?

tfs visual-studio-2008 automerge

63
推荐指数
2
解决办法
3万
查看次数

如何确定VB.Net DataRow中是否存在列

我正在将XML文件读入DataSet,需要从DataSet中获取数据.由于它是用户可编辑的配置文件,因此字段可能存在也可能不存在.为了更好地处理缺少的字段,我想确保DataRow中的每一列都存在且不是DBNull.

我已经检查了DBNull但是我不知道如何确保列存在而不会抛出异常或使用循环遍历所有列名的函数.这样做的最佳方法是什么?

.net vb.net ado.net datarow dataset

52
推荐指数
2
解决办法
10万
查看次数

在MVVM模式中,View-first与ViewModel的优缺点是什么?

我正在介绍如何在真实世界的应用程序中使用MVVM,我将介绍在应用程序中使用MVVM作为模式时涉及的宗教战争设计决策.在MVVM应用程序中,有两种主要方式(我知道)实例化一个新的View/ViewModel对:

  1. View-First,您在其中创建视图,并创建自己的ViewModel并将其设置为DataContext.
  2. ViewModel-First,您可以在其中创建新视图模型并创建新视图以响应ViewModel属性中的更改,通常使用ItemsControls和/或DataTemplates.

根据您的经验,每种方法的优缺点是什么?它们启用了什么以及您遇到的问题是什么?

结果摘要


  • 查看第一 - 优点
    • 轻松跟踪View使用的ViewModel
  • 查看第一 - 缺点
    • 不允许单个View轻松与多个ViewModel一起使用
    • 需要额外的事件来处理Views和ViewModel之间的通信
  • ViewModel First - 优点
    • 允许更完整的逻辑测试以打开新的视图和ViewModel
    • 随着应用程序变大,趋向于DRYer
    • View和ViewModel更加独立,可以更容易地单独处理
  • ViewModel First - Cons
    • 没有DataTemplateSelector和类型化的DataTemplates,在Silverlight中设置起来比较困难.

mvvm

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

有没有办法声明一个在.Net中实现多个接口的变量?

此Java问题类似.我想指定一个变量实现多个接口.例如

private {IFirstInterface, ISecondInterface} _foo;

public void SetFoo({IFirstInterface, ISecondInterface} value)
{
    _foo = value;
}
Run Code Online (Sandbox Code Playgroud)

要求:

  • 我无法为大多数传入Foo的类型添加接口.所以我无法创建继承自IFirstInterface和ISecondInterface的第三个接口.
  • 如果可能的话,我想避免使包含类变得通用,因为Foo的类型与类没有太大关系,并且用户在编译时不太可能知道它.
  • 我需要在以后使用foo来访问两个接口中的方法.
  • 我想以编译器安全的方式执行此操作,即在尝试使用它之前不尝试强制转换为接口.如果foo没有实现两个接口,相当多的功能将无法正常工作.

这可能吗?

编辑:出于各种原因,我想要这几次.在这个例子中,因为我正在将一组属性从ObservableCollections更改为ReadOnlyObservableCollections.我有一个帮助器类,它创建从源ObservableCollection到另一个Collection的投影.由于ReadOnlyObservableCollection不从ObservableCollection继承而且我只需要IList和INotifyCollectionChanged中的操作,我希望将我的源集合存储为这两个接口的组合,而不是需要ObservableCollection.

.net interface

18
推荐指数
2
解决办法
4622
查看次数

如何在订阅时提供热点可观察的最新值

我有一个热门观察(来自一个事件),我正在调用DistinctUntilChanged哪个将有多个订阅者,他们将在observable开始运行并在其产生第一个值后的不同时间订阅.订阅者将获得IObservable我班上的财产.

我如何做到这一点,以便每当有人订阅观察者时,他们获得最后发布的值,但是观察到的正常行为呢?我想我可能正在寻找,PublishLast但我不确定它是否有其他副作用.

类似的问题:如何在订阅时获得最新值的IObservable?这是一个非常相似的问题,但它是从一年多前开始的,并且已经对Rx做了很多补充,所以我认为现在可能有一个内置函数而不是必须依赖于BehaviorSubject所以我不认为这是完全相同的.

编辑: 这是我实际上要做的事情.我正在谈论的实际可观察​​序列下面有一条评论.

system.reactive

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

什么是GenericParameterHelper以及它是如何使用的?

我在VS 2008中对泛型类生成了单元测试,并且在使用泛型类型的所有位置使用了GenericParameterHelper类型.这是一个应该被替换的占位符还是有一些用处?有什么用途?

以下是它生成的一个测试示例:

/// <summary>
///A test for Count
///</summary>
public void CountTestHelper<TKey, TValue>()
{
    ObservableDictionary<TKey, TValue> target = new ObservableDictionary<TKey, TValue>(); // TODO: Initialize to an appropriate value
    int actual;
    actual = target.Count;
    Assert.Inconclusive("Verify the correctness of this test method.");
}

[TestMethod()]
public void CountTest()
{
    CountTestHelper<GenericParameterHelper, GenericParameterHelper>();
}
Run Code Online (Sandbox Code Playgroud)

.net

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

WPF中的.NET(Rx)反应扩展 - MVVM

我在我的WPF应用程序中使用Caliburn.Micro的.NET(Rx)的Reactive扩展.我正在尝试移植我的WPF应用程序以使用MVVM架构,我需要监视TextBox控件的Text属性中的更改.

如果Text属性的最后一次更改超过3秒前,我需要调用服务的LoadUser方法.

将逻辑从我的旧解决方案移植到具有MVVM架构的新解决方案.

XAML:

<TextBox Name="Nick" 
         Grid.Row="0"
         FontSize="14"
         Margin="2,2,2,2" 
         HorizontalAlignment="Stretch" 
         TextChanged="Nick_TextChanged" />
Run Code Online (Sandbox Code Playgroud)

代码背后我有这个:

...

Observable.FromEvent<TextChangedEventArgs>(Nick, "TextChanged")
          .Select(e => ((TextBox)e.Sender).Text)
          .Where(text => text.Length > 3)               
          .Do(LoadUser)     
          .Throttle(TimeSpan.FromSeconds(3000))     
          .Subscribe(LoadUser);

...
private  void LoadUser(string text){...}
Run Code Online (Sandbox Code Playgroud)

我想在我的视图模型类中使用Observable.FromEvent.像这样的东西

WPF与MVVM

视图:

<TextBox Name="Nick" 
         Grid.Row="0"
         FontSize="14"
         Margin="2,2,2,2" 
         HorizontalAlignment="Stretch"
         Micro:Message.Attach="[TextChanged]=[Action TextChanged()]"/>
Run Code Online (Sandbox Code Playgroud)

查看型号:

[Export(typeof(IAddFriendViewModel))]
public class AddFriendViewModel : Screen, IAddFriendViewModel
{
    private string _nick;

    public string Nick
    {
        get { return _nick; }
        set
        {
            _nick = value;
            NotifyOfPropertyChange(()=>Nick);
        }
    }

    ...

    //how can I access …
Run Code Online (Sandbox Code Playgroud)

wpf system.reactive caliburn.micro observer-pattern

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

如何使RadioButton的Bullet对齐顶部?

我有一个多行单选按钮,我希望子弹在内容的左侧(默认情况下)与单选按钮控件的顶部对齐.在XAML中最简单的方法是什么?

wpf xaml radio-button

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

如何在不设置IsEnabled的情况下防止ToggleButton被切换

我有一个ToggleButtons列表,用作ListBox中的ItemTemplate,类似于使用Listbox的MultiSelect模式的此答案.但是我需要确保始终选择至少一个项目.

我可以通过在ListBox.SelectionChanged事件中向ListBox的SelectedItems集合中添加一个项来从ListBox中获取正确的行为,但是我的ToggleButton仍然会移出其切换状态,因此我认为我需要在此过程的早期停止它.

我想在没有在最后一个按钮上设置IsEnabled ="False"的情况下这样做,因为我更喜欢使用Enabled视觉样式,而不必重做我的按钮模板.有任何想法吗?

wpf togglebutton

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

找出两个文件是否以编程方式不同的最简单方法是什么?

找出两个文本文件是否以编程方式不同的最简单方法是什么?鉴于两个文件,我只需要知道它们是否不同.这是一个快速的工具来帮助一个特别讨厌的合并(在一个分支中转换语言从VB到C#(耶!)并在另一个分支中做了很多改变),它将不会投入生产.

可能的解决方案:

  1. 哈希这两个文件并比较哈希值
  2. 拉入文件并进行字符串比较
  3. 调用外部差异工具(遗憾的是Winmerge没有这个的CLI)

如果可能的话,忽略空白区域会很棒,但我并不在乎它.最重要的是它需要快速简便.

我顺便使用.Net 3.5sp1.感谢您的任何想法或指示.

.net

7
推荐指数
2
解决办法
3682
查看次数