/ / xaml Wie binde ich an eine andere Quelle? - c #, xaml, windows-phone-8, windows-laufzeit, windows-store-apps

xaml Wie bindet man an eine andere Quelle? - c #, xaml, windows-phone-8, windows-laufzeit, windows-store-apps

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 № 1

Sie 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.