XAML (UWP)如何从DataTemplate中访问代码隐藏文件?

deyfvvtc  于 2023-11-14  发布在  其他
关注(0)|答案(1)|浏览(90)

这基本上是一个数据绑定问题。
简单地说,我有一个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。

brqmpdu1

brqmpdu11#

尝试使用ElementName绑定(而不是x:Bind)将ListViewTextBlockDataContext设置为ListView所在的Page

相关问题