做了一個非常簡單的例子列表界面性能,希望有人能遵循這一點,並幫助我Expression Blend的綁定列表不綁定
這裏是我的代碼。
視圖模型
public class ViewModel
{
private Person _noninterfacePerson;
private IPerson _interfacePerson;
public ViewModel()
{
_noninterfacePerson = new Person();
_interfacePerson = new Person();
}
public Person NonInterfacePerson
{
get { return _noninterfacePerson; }
}
public IPerson InterfacePerson
{
get { return InterfacePerson; }
}
}
人
public class Person : IPerson
{
public Person()
{
}
public string Name
{
get;
set;
}
public int age
{
get;
set;
}
}
IPerson
public interface IPerson
{
int age { get; set; }
string Name { get; set; }
}
查看
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication2"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid d:DataContext="{d:DesignInstance local:ViewModel}">
</Grid>
</Window>
在Expression Blend中,如果插入文本塊,請單擊「高級選項」 - >數據綁定... - >數據上下文我將InterfacePerson和NonInterfacePerson視爲綁定到的選項。但是,NonInterfacePerson有一個小箭頭顯示我可以綁定到的其他屬性。年齡和名字在這種情況下。
當我將d:DataContext設置爲d:DesignData Source時,會發生同樣的情況。我沒有用這個例子,因爲它比較複雜。但那是我真正想要這個工作的地方,因爲那時我可以看到我所有的綁定選項並且有樣本數據。
如果我不是做這在我的觀點:
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication2"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<local:ViewModel x:Key="DummyVM"/>
</Window.Resources>
<Grid d:DataContext="{Binding Source={StaticResource DummyVM}}">
</Grid>
</Window>
那麼我可以看到InterfacePerson的性質,但是,我仍然無法得到輕鬆實現樣本的數據,我想用d:DesignData。
應該指出的是,在所有情況下,如果我手動輸入路徑工作正常。這純粹是讓Blend顯示它們的問題,因此設置綁定更容易。
感謝您提供的任何幫助!