.net – DataTemplate中的TemplateBinding不起作用

前端之家收集整理的这篇文章主要介绍了.net – DataTemplate中的TemplateBinding不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在通用 Windows应用程序中创建模板化控件.

问题在于< Button Content =“{Binding}”Command =“{TemplateBinding AddCharCommand}”/> TemplateBinding不起作用.

似乎问题是因为它是在DataTemplate中定义的.

这是样式和应用于我的控件的模板.

<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>

解决方法

您不能在DataTemplate中使用TemplateBinding,但有一些解决方法

>您可以使用所需的DataContext为某些隐藏元素创建一种代理.更多细节here.
>您可以创建一种RelativeSource绑定来查找Ancestor,如WPF所示.更多细节here

猜你在找的Windows相关文章