データバインディングの問題で再び立ち往生しています。
今回は aListView
をSelectedItem
aの にバインドしたいと思いGridView
ます。私はすでにこのタイプのデータバインディングで成功していますが、今ListView
では私の選択したアイテムに関する詳細を表示する必要がありGridView
ます. 存在するはずのアイテムがありません。バインドは my のプロパティでうまくいき
ます。属性を で置き換えることは、どちらも機能しないため、オプションではないようです。
ソース ビュー:GridView
MainViewModel
ElementName
x:Resouces
<GridView x:Name="gridViewOrderYears"
ItemsSource="{Binding SelectedCustOrders, Mode=TwoWay}"
HorizontalAlignment="Left"
Grid.Row="1"
VerticalAlignment="Top"
Width="316"
Height="63"
Margin="657,316,0,0"
SelectionMode="Single">
<GridView.ItemTemplate>
<DataTemplate>
<Grid>
<Border BorderThickness="1" BorderBrush="Aquamarine">
<StackPanel>
<TextBlock Text="{Binding Year}" FontSize="20"/>
<TextBlock Text="{Binding OrderCount}"/>
</StackPanel>
</Border>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
このビューはバインドしません:
<ListView HorizontalAlignment="Left"
Height="231"
Margin="657,401,0,0"
Grid.Row="1"
VerticalAlignment="Top"
Width="316"
DataContext="{Binding SelectedItem, ElementName=gridViewOrderYears}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding DoneOrders.Order_Date, ElementName=gridViewOrderYears}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
SelectedCustOrders
プロパティはIList<OrderYears>
.
OrderYears
my で定義された次のデータ値オブジェクトですMainViewModel
:
public class OrderYears
{
public int? Year { get; set; }
public IList<Orders> DoneOrders { get; set; }
public int OrderCount { get; set; }
}