Dev*_*pex 6 c# wpf triggers readonly attached-properties
我有只读附加属性的问题。我是这样定义的:
public class AttachedPropertyHelper : DependencyObject
{
public static readonly DependencyPropertyKey SomethingPropertyKey = DependencyProperty.RegisterAttachedReadOnly("Something", typeof(int), typeof(AttachedPropertyHelper), new PropertyMetadata(0));
public static readonly DependencyProperty SomethingProperty = SomethingPropertyKey.DependencyProperty;
}
Run Code Online (Sandbox Code Playgroud)
我想在 XAML 中使用它:
<Trigger Property="m:AttachedPropertyHelper.Something" Value="0">
<Setter Property="FontSize" Value="20"/>
</Trigger>
Run Code Online (Sandbox Code Playgroud)
但是编译器不想使用它。结果,我有两个错误:
在“ReadonlyAttachedProperty.AttachedPropertyHelper”类型上找不到样式属性“Something”。第 11 行位置 16。
在类型“TextBlock”中找不到属性“Something”。
我不知道你的只读附加属性是否有什么特别之处,但如果你以默认方式声明它,它就可以工作:
public class AttachedPropertyHelper : DependencyObject
{
public static int GetSomething(DependencyObject obj)
{
return (int)obj.GetValue(SomethingProperty);
}
public static void SetSomething(DependencyObject obj, int value)
{
obj.SetValue(SomethingProperty, value);
}
// Using a DependencyProperty as the backing store for Something. This enables animation, styling, binding, etc...
public static readonly DependencyProperty SomethingProperty =
DependencyProperty.RegisterAttached("Something", typeof(int), typeof(AttachedPropertyHelper), new UIPropertyMetadata(0));
}
Run Code Online (Sandbox Code Playgroud)
编辑
如果您希望与只读附加属性相同,请将其更改为:
public class AttachedPropertyHelper : DependencyObject
{
public static int GetSomething(DependencyObject obj)
{
return (int)obj.GetValue(SomethingProperty);
}
internal static void SetSomething(DependencyObject obj, int value)
{
obj.SetValue(SomethingPropertyKey, value);
}
private static readonly DependencyPropertyKey SomethingPropertyKey =
DependencyProperty.RegisterAttachedReadOnly("Something", typeof(int), typeof(AttachedPropertyHelper), new UIPropertyMetadata(0));
public static readonly DependencyProperty SomethingProperty = SomethingPropertyKey.DependencyProperty;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3008 次 |
最近记录: |