这基本上是一个数据绑定问题。
简单地说,我有一个ListView,它的项目被生成并使用DataTemplate来呈现这些项目。然而,在DataTemplate中,DataContext更改为正在使用的x:DataType,因此我无法访问位于代码隐藏C#文件中的属性,甚至无法访问ViewModel中包含的属性。希望我在这里说得很清楚:
<ListView
x:Name="MyListView"
ItemsSource="{x:Bind mainViewModel.AdvancedNoteCollection, Mode=OneWay}">
<ListView.ItemTemplate>
<DataTemplate x:DataType="Models:Note">
<Grid>
<TextBlock Text="{ When trying to bind, I am stuck within the DataContext of the Note data type! }" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
字符串
然而,实际上,我的DataTemplate位于外部ResourceDictionary文件中,这使我的情况更具挑战性。外部ResourceDictionary确实有自己的代码隐藏文件,尽管如此,这允许我除了使用传统的Binding之外还使用x:Bind。
1条答案
按热度按时间brqmpdu11#
尝试使用
ElementName
绑定(而不是x:Bind
)将ListView
中TextBlock
的DataContext
设置为ListView
所在的Page
。