にDataSourceを渡す:あなたはItemSourceプロパティが親のビューモデルのPopularHousesプロパティにバインドされて見ることができるようにWPFは、私は非常に単純なユーザーコントロール持つユーザーコントロール
<UserControl x:Class="PointOfSale.UserControls.HousesGrid"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<ItemsControl x:Name="LayoutRoot" ItemsSource ="{Binding PopularHouses}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="5"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ToggleButton
Content="{Binding FormattedPanelTimeRemaining}"
Style="{StaticResource MetroToggleButtonStyle}"
Height="45"
Width="80"
VerticalAlignment="Center"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
を。これは素晴らしいです。しかし、私がしたいのは、LayoutRoot要素のItemSourceを、コントロールがXAMLに挿入されている親フォーム上のポイントにある別のプロパティに設定することです。
最終結果は、このユーザーコントロールの複数のインスタンスであり、親のデータコンテキスト上のいくつかの異なるプロパティにバインドされている必要があります。
誰かがこれを実装する方法を説明できますか?
あなたは右、後方考えている実現するために適用されますか? バインドするプロパティを変更して、ビューモデルを汎用的にしないのはなぜですか? – Mishka
'ItemsSource'を外部から* binde-able *にしたい場合は、それをユーザコントロールの依存性プロパティとして公開し、単純に' LayoutRoot.ItemsSource'をバインドします。 [この回答](https://stackoverflow.com/a/5700294/1997232)を参照してください。 – Sinatr