मैं सेट करता हूं Items
इस तरह सी # कोड में:
this.DefaultViewModel["Items"] = items;
और मैंने इसे परिभाषित किया है xaml
पृष्ठ इस प्रकार है:
DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}"
अब मैं उपयोग कर सकता हूँ Items
में GridView
<GridView ItemsSource="{Binding Items}">
<GridView.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding customWidth}">
<!-- The rest-->
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
लेकिन समस्या यह है कि मैं चाहता हूं कि आंतरिक ग्रिड एक अलग स्रोत का उपयोग करें:
this.DefaultViewModel["customWidth"] = 300;
अपने मूल ग्रिड व्यू की तुलना में इनर ग्रिड का उपयोग कैसे करें? धन्यवाद।
उत्तर:
जवाब के लिए 2 № 1आप अपने पृष्ठ को एक नाम दे सकते हैं (जैसे, x: नाम = "myPage") और फिर
<GridView ItemsSource="{Binding Items}">
<GridView.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding DefaultViewModel.customWidth, ElementName=myPage}">
<!-- The rest-->
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
यही है, आप वर्तमान बाइंडिंग स्कोप से बाहर जाने के लिए एलीमेंटनाम का उपयोग कर सकते हैं।