我有一个依赖属性的用户控件是一个枚举。我绑定到它并将其设置在主窗口视图中,但它不会更改。枚举依赖属性永远不会从视图更新
这是用户控件和图标是枚举
<local:GoogleMaterialIcon Icon="AccountBalance"/>
这里是枚举
public enum Icon
{
_3DRotation,
Accessibility
};
这里是DP
/// <summary>
/// Dependency Property used to back the <see cref="Icon"/> Property
/// </summary>
public static readonly DependencyProperty IconProperty =
DependencyProperty.Register("Icon",
typeof(Icon),
typeof(GoogleMaterialIcon),
new PropertyMetadata(null));
最后的财产
public Icon Icon
{
get { return (Icon)GetValue(IconProperty); }
set
{
SetValue(IconProperty, value);
}
}
我在设置图标中放置了一个断点,但它永远不会运行。枚举也在它自己的文件中。我每次运行它表明我错了图标,因为DP恢复到第一个枚举和永远不会更新
更新:背后
public partial class GoogleMaterialIcon : UserControl
{
/// <summary>
/// Dependency Property used to back the <see cref="Icon"/> Property
/// </summary>
public static readonly DependencyProperty IconProperty =
DependencyProperty.Register("Icon",
typeof(Icon),
typeof(GoogleMaterialIcon),
new PropertyMetadata(null));
/// <summary>
/// Constructor
/// </summary>
public GoogleMaterialIcon()
{
InitializeComponent();
}
/// <summary>
/// Select a predefined icon to use
/// </summary>
public Icon Icon
{
get { return (Icon)GetValue(IconProperty); }
set
{
SetValue(IconProperty, value);
}
}
}
添加了usercontrol的后面代码。我不使用视图中的属性呢。这个想法是在你缺少PropertyChanged-Event的'PropertyMetadata'中的图标 – Sam
的设置器中执行某些操作。哦,你实际上应该**将你的财产绑定到正确的类型。不仅设置字符串 – lokusking
我不必正常添加。这是一个特殊的枚举? – Sam