非常に単純なケースでDesignDataに苦労しています。 私は次のようなクラスが定義されているWindowsのユニバーサルプロジェクトWindowsでDesignDataを使用するユニバーサルコレクション
<UserControl
...
xmlns:local="clr-namespace:SimpleDataBind"
...
<UserControl.Resources>
<DataTemplate x:Key="SimpleListTemplate">
<TextBox Text="{Binding Name}" />
</DataTemplate>
</UserControl.Resources>
<Grid>
<StackPanel Grid.Row="0" d:DataContext="{d:DesignData Source=./DesignData/Single.xaml}">
<TextBox Text="{Binding Name}"/>
</StackPanel>
<ListView Grid.Row="1" d:DataContext="{d:DesignData Source=./DesignData/Multiple.xaml}"
ItemTemplate="{StaticResource SimpleListTemplate}"
ItemsSource="{Binding collection}">
</ListView>
</Grid>
に、次の些細な制御を定義した:型ElementCollectionの
public class Element
{
public Element() { }
public string Name { get; set; }
}
public class ElementCollection : ObservableCollection<Element>
{
public ElementCollection() { }
}
要素「コレクションは」で定義されますcodeBehindは有効なBinding Sourceを指定します。
Single.xamlは簡単です:
<local:Element xmlns:local="clr-namespace:SimpleDataBind" Name="Single" />
複数も同様にそうである:Designerで見た場合
<local:ElementCollection xmlns:local="clr-namespace:SimpleDataBind" >
<local:Element Name="Multiple Pete" />
<local:Element Name="Multiple George" />
<local:Element Name="Multiple John" />
</local:ElementCollection>
、我々は、上記の設計データが表示されるはずです。実際、コントロールはグリッドの最初の行に正しく名前として「シングル」を表示します。しかし、コントロールはグリッドの2番目の行に何も表示されません。私は明らかに何かを明らかに欠けている
...