我正在尝试创建一个自定义的AccordionItem,它可以取标记属性值“Rank”:
<local:MyAccItem Header="" Content="" Rank="" />
这不是真的有效,因为我的控件只包含一个包含原始Accordion项目的网格。我尝试过操作模板,并创建了一个带有修改模板的资源文件。但是我想改变我已经模板化的AccordionItem中的Ellipse对象的大小,以便它根据该项的等级进行更改。我真的卡住了。帮助赞赏。
答案 0 :(得分:2)
您需要在MyAccItem UserControl的代码隐藏中创建依赖项属性“Rank”。我假设你的排名是一个int?如果是这样,你可以将它放在你的代码中,构建,然后它应该在你的XAML中工作。
#region Rank (DependencyProperty)
/// <summary>
/// Rank
/// </summary>
public int Rank
{
get { return (int)GetValue(RankProperty); }
set { SetValue(RankProperty, value); }
}
public static readonly DependencyProperty RankProperty =
DependencyProperty.Register("Rank", typeof(int), typeof(MyAccItem),
new PropertyMetadata(0, new PropertyChangedCallback(OnRankChanged)));
private static void OnRankChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
((MyAccItem)d).OnRankChanged(e);
}
protected virtual void OnRankChanged(DependencyPropertyChangedEventArgs e)
{
}
#endregion Rank (DependencyProperty)
答案 1 :(得分:0)
#region Rank
#endregion Rank
此标记用于在它们之间封装代码,因此您可以展开和折叠其中的代码。
只是为了让事情井井有条,仅此而已!