【发布时间】:2017-10-05 18:29:00
【问题描述】:
我有一个自定义 UserControl,我想将自定义属性附加到一些包含的 UI 元素。
我试图这样实现它,但 VS 不接受我的 XAML 代码。 它说 MyProp 不可用或无法访问。
<UserControl
x:Class="mynamespace.MyDataSourceSelector"
xmlns:local="clr-namespace:mynamespace"
... >
<TabControl>
<TabItem Header="Tab1" local:MyDataSourceSelector.MyProp="something1"/>
<TabItem Header="Tab2" local:MyDataSourceSelector.MyProp="something2"/>
</TabControl>
<UserControl>
我的自定义 UserControl 类如下所示:
public partial class MyDataSourceSelector: UserControl
{
...
public string MyProp
{
get { return (string)GetValue(MyPropProperty); }
set { SetValue(MyPropProperty, value); }
}
public static readonly DependencyProperty MyPropProperty
= DependencyProperty.Register(
"MyProp",
typeof(string),
typeof(MyDataSourceSelector),
new PropertyMetadata(null)
);
}
我想为每个选项卡绑定一个值,然后在需要时读出活动选项卡的 MyProp 值。
我该怎么做?
【问题讨论】:
-
这不是附加的属性声明。请参阅here 它的实际外观。
-
除此之外,您可以简单地使用 TabItem 的 Tag 属性来达到您的目的。
-
现在我意识到,这和我写的不能互换:) 感谢您的帮助!
标签: c# wpf xaml dependency-properties attached-properties