DataTemplate 中的 TemplateBinding 不起作用

Sup*_*JMN 5 .net xaml uwp windows-10-universal

我正在创建一个模板控件我的通用 Windows 应用程序中。

问题是,在<Button Content="{Binding}" Command="{TemplateBinding AddCharCommand}" />TemplateBinding不起作用。

似乎问题是因为它是在一个 DataTemplate.

这是Style应用到我的控件的模板。

<Style TargetType="local:CoordinatesControl">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="local:CoordinatesControl">

                <ListView ItemsSource="{TemplateBinding Numbers}">
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <Button Content="{Binding}"
                                    Command="{TemplateBinding AddCharCommand}" />
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>

            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

小智 0

您不能使用TemplateBindinginside DataTemplate,但有解决方法:

  1. DataContext您可以根据需要创建某些隐藏元素的代理。更多详细信息请参见此处

  2. 您可以创建一种RelativeSource绑定来查找,Ancestor就像在WPF中一样。更多详情请点击此处