如何在我的WPF项目中预先形成以下结果。
C#代码背后
public class Test
{
public int a;
}
自定义控制代码背后
public class myControl : Control
{
public Test myVar { get; set; }
}
Xaml Code
<myControl myVar.a=2/>
例如,在代码中使用像TextBlock Class这样的代码:
<TextBox TextBlock.FontFamily="12"/>
答案 0 :(得分:0)
您使用TextBlock提供的示例
<TextBox TextBlock.FontFamily="12"/>
是一种不同的情况,因为TextBlock不是TextBox的属性。
在这里设置一个所谓的附属属性。
按照您的示例,您必须按如下方式编写Test类:
using System.Windows;
namespace WpfApp1
{
public class Test
{
public static readonly DependencyProperty aProperty
= DependencyProperty.RegisterAttached ( "a",
typeof(int),
typeof(Test),
new PropertyMetadata(0) ) ;
public static int Geta ( DependencyObject obj )
{
return (int)obj.GetValue(aProperty);
}
public static void Seta ( DependencyObject obj, int value )
{
obj.SetValue(aProperty, value);
}
}
}
然后您可以按如下方式在XAML中设置它:
<local:myControl local:Test.a="2" />
请注意,我根本没有使用你的属性myVar。
如果这是您想要的,我建议您对附加属性进行一些背景阅读。