ich setze Items
in C # -Code wie folgt:
this.DefaultViewModel["Items"] = items;
und ich habe es im definiert xaml
Seite wie diese:
DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}"
Jetzt kann ich verwenden Items
in einem GridView
<GridView ItemsSource="{Binding Items}">
<GridView.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding customWidth}">
<!-- The rest-->
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
Aber das Problem ist, dass ich möchte, dass das innere Gitter eine andere Quelle verwendet:
this.DefaultViewModel["customWidth"] = 300;
Wie kann das innere Raster eine andere Quelle als das übergeordnete GridView verwenden? Vielen Dank.
Antworten:
2 für die Antwort № 1Sie können Ihrer Seite einen Namen geben (z. B. x: Name = "myPage") und dann
<GridView ItemsSource="{Binding Items}">
<GridView.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding DefaultViewModel.customWidth, ElementName=myPage}">
<!-- The rest-->
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
Das heißt, Sie können ElementName verwenden, um den aktuellen Bindungsbereich zu verlassen.