小编Car*_*eth的帖子

Visual Studio 2015 Intellisense无法确定某些泛型方法中lambda的类型

注意:这是Roslyn中的一个错误,已在Visual Studio 2017中修复.

Visual Studio 2015无法确定方法中的lambda参数类型Enumerable.Join.请考虑以下代码:

public class Book
{
    public int AuthorId { get; set; }
    public string Title { get; set; }
}

public class Author
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public static void NoIntellisenseInEnumerableJoin()
{
    IEnumerable<Book> books = null;
    IEnumerable<Author> authors = null;

    //Intellisense fails on both 'book => book.AuthorId' and 'author => author.Id'
    var test = books.Join(authors, book => book.AuthorId, author => author.Id, …
Run Code Online (Sandbox Code Playgroud)

c# intellisense visual-studio-2015

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

将嵌套用户控件绑定到复合视图模型

我有一个非常简单的复合模型,由两个类组成:

Public Class ParentModelVM
  Public Property Name As String
  Public Property ChildModel As ChildModelVM

  Public Sub New()
    Name = "A Parent Model"
    ChildModel = New ChildModelVM With {.Name = "A Child Model"}
  End Sub
End Class

Public Class ChildModelVM
  Public Property Name As String
  Public Property Description As String
End Class
Run Code Online (Sandbox Code Playgroud)

两者都实现了我已经缩写的INotifyPropertyChanged.我正在尝试生成用户控件来编辑ParentModelVM:

<UserControl x:Class="EditParentModel" .../>
    <UserControl.DataContext>
        <Binding RelativeSource="{RelativeSource Self}" Path="ViewModel" />
    </UserControl.DataContext>

    <TextBox Name="NameInput" Text="{Binding Path=Name}"/>
    <local:EditChildModel x:Name="ChildModelInput" ViewModel="{Binding Path=ChildModel}"/>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

ViewModel是一个ParentModelVM,它注册为DependencyProperty,默认情况下绑定双向.我有一个名为EditChildModel的类似UserControl,它具有ChildModelVM类型的ViewModel属性,也注册为DependencyProperty,默认情况下绑定双向.

这个逻辑对我来说似乎有意义:ParentModelVM有一个String,它使用TextBox控件编辑,Text控件的Text属性被绑定,它有一个ChildModelVM,使用EditChildModel控件编辑,其ViewModel属性被绑定.

ParentModelVM.Name正确绑定到其文本框,并且两个ChildViewModelVM属性正确绑定到其文本框.但是,EditParentModel.ViewModel.ChildModel 与EditChildModel.ViewModel 不是同一个对象,我无法弄清楚原因.如果我ViewModel="{Binding Path=ChildModel}"从EditParentModel …

data-binding wpf user-controls

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