【问题标题】:WPF pass object from control to controltemplateWPF将对象从控件传递到控件模板
【发布时间】:2018-09-19 00:57:28
【问题描述】:

我试图将一个对象从一个控件(在本例中为 RadioButton)传递给它的控件模板。从那里,在模板中,我想在模板化控件中显示 SampleNo 字符串属性。请参见下图,它更好地说明了这一点。你们能指导我了解我做错了什么吗?

Code Sample

【问题讨论】:

    标签: wpf data-binding wpf-controls datatemplate


    【解决方案1】:

    好吧,你可以使用 datacontext,如下所示: 那么您可以将一些对象绑定到您的控件的数据上下文(如果该对象具有名称属性):

    【讨论】:

    • 我认为这让我很接近,但我收到以下错误。 System.Windows.Data 错误:4:找不到与引用'RelativeSource FindAncestor,AncestorType='System.Windows.Controls.Button',AncestorLevel='1''的绑定源。 BindingExpression:Path=DataContext.SampleNo;数据项=空;目标元素是'ContentPresenter'(名称='RatingTemplate');目标属性是“内容”(类型“对象”)
    • 您只能从您提供的图像中看到,您使用了togglebutton而不是button,它们都是buttonbase的子类,因此它们不能互换。但是,按钮类出现在您的错误消息中,很明显,您使用的是按钮而不是切换按钮。
    • 谢谢 Nabian,这很有效。节省了我很多时间!
    【解决方案2】:

    您所要做的就是更改代码,如下所示

    【讨论】:

    • 那行不通。如果我这样做,它将是 Content="{TemplateBinding Button.Content.SampleNo}" 并且它说不支持嵌套类型。我的目标是将整个对象传递给 ControlTemplate,然后从中挑选出要显示的属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 2021-11-12
    • 2014-03-26
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    相关资源
    最近更新 更多