加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

.net – DataTemplate中的TemplateBinding不起作用

发布时间:2020-12-14 05:38:54 所属栏目:Windows 来源:网络整理
导读:我正在通用 Windows应用程序中创建模板化控件. 问题在于 Button Content =“{Binding}”Command =“{TemplateBinding AddCharCommand}”/ TemplateBinding不起作用. 似乎问题是因为它是在DataTemplate中定义的. 这是样式和应用于我的控件的模板. Style Targe
我正在通用 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读