【发布时间】:2016-09-13 05:31:16
【问题描述】:
我有一个 WPF 自定义控件
<local:SuperControl>
<local:SuperControl.SBItem>
<MultiBinding StringFormat="{}Name: {0} ({1})">
<Binding Path="Name" />
<Binding Path="ID" />
</MultiBinding>
</local:SuperControl.SBItem>
</local:SuperControl>
ViewModel 属性
public string Name { get; set; }
public string ID { get; set; }
考虑属性的价值
Name = "John";
ID = "STK001";
自定义控件
public class SuperControl : ItemsControl
{
public static readonly DependencyProperty SBItemProperty = DependencyProperty.Register("SBItem", typeof(string), typeof(BAutoComplete), new PropertyMetadata(null));
public string SBItem
{
get { return (string)GetValue(SBItemProperty); }
set { SetValue(SBItemProperty, value); }
}
public override void OnApplyTemplate()
{
string Name = SBItem;
string ID = SBItem;
string StringFormat = SBItem;
}
}
考虑自定义控件中的一段代码
public override void OnApplyTemplate()
{
string Name = SBItem;
string ID = SBItem;
string StringFormat = SBItem;
}
这里我需要从依赖属性SBItem获取绑定属性的值Name、ID和String Format。请帮助我。
【问题讨论】:
-
我没完全理解你,你是不是想以某种方式炸毁
SBItem...? -
@AnnaSB,在运行时我们不知道它是什么类型的字符串...所以,我需要知道绑定信息以及字符串格式...
-
老实说,这个问题毫无意义。您不能拥有通过 MultiBinding(产生字符串)绑定到视图模型对象的字符串类型的依赖属性,并希望能够访问视图模型类的单个属性。
-
@B.Balamanigandan 请您解释一下您的实际要求。你想用这个实现什么?
-
@B.Balamanigandan - 你的问题是有效的。
标签: c# wpf xaml custom-controls dependency-properties