Pass XAML object within XAML
背景:
我有一个完全在
我的 xaml 文件如下所示:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
<RootConfiguration xmlns="clr-namespace:Configuration;assembly=Configuration" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <RootConfiguration.Elements> <ElementList x:Name="completeElementDefinition"> <Element Type="X" Show="True" Refresh="30"> <Element.Name>A1</Element.Name> </Element> <Element Type="Y" Show="True" Refresh="30"> <Element.Name>B1</Element.Name> </Element> </ElementList> </RootConfiguration.Elements> <RootConfiguration.ElementGroups> </RootConfiguration> |
我首先尝试在一个额外的命名空间中实现第二个
我读过
而且我认为可以实现
我怎样才能意识到我在寻找什么?有没有比我能找到的更好的方法来引用我的 xaml 标记中的对象?
我只见树木不见森林……由于一些研究工作,我可以自己解决我的问题。
解决方案在于结合我上面提到的两种方法。
我将属性
中定义的元素
1
2 3 4 5 6 7 8 9 10 11 12 |
#region Dependancy Property // Dependency Property public static readonly DependencyProperty ElementsProperty = DependencyProperty.Register("Elements", typeof(ElementList), typeof(ElementGroup), new PropertyMetadata(null)); // .NET Property wrapper |
现在我可以参考 XAML 标记中的元素,如下所示:
1
2 3 4 5 6 |
<RootConfiguration.ElementGroups>
<ElementGroupList> <ElementsGroup Name="All Elements" Elements="{x:Reference completeElementDefinition}" /> <!– […] –> </ElementGroupList> </RootConfiguration.ElementGroups> |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/269736.html