【问题标题】:How to Bind to Oustide of x:DataType in DataTemplate?如何在 DataTemplate 中绑定到 x:DataType 之外?
【发布时间】:2021-07-29 08:11:00
【问题描述】:

我有一个 x:DataType="myModel" 的 DataTemplate 现在我想绑定到 DataType 之外的属性我该怎么做?

【问题讨论】:

    标签: c# xaml uwp


    【解决方案1】:

    我有一个带有 x:DataType="myModel" 的 DataTemplate 现在我想绑定到 DataType 之外的属性我该怎么做?

    如果你想访问DataType之外的属性,请使用Binding ElementName=Control Name然后从父DataContext访问外部属性

    <Grid HorizontalAlignment="Stretch" x:Name="RootGrid">
        <ListView ItemsSource="{Binding Items}" x:Name="MyListView">
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="VerticalContentAlignment" Value="Stretch"/>
                    <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                </Style>
            </ListView.ItemContainerStyle>
            <ListView.ItemTemplate>
                <DataTemplate>
                    <Grid  HorizontalAlignment="Stretch">
                        <TextBlock Text="{Binding}" VerticalAlignment="Center"/>
                        <Button HorizontalAlignment="Right" 
                                Margin="0,0,30,0" 
                                Content="Favorite" 
                                Command="{Binding ElementName=MyListView,Path=DataContext.BtnCommand}" 
                                CommandParameter="{Binding}"/>
                    </Grid>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </Grid>
    

    这里有类似的case reply,您可以参考。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-10
      • 2018-10-04
      • 2012-04-11
      • 2011-12-09
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多