【发布时间】:2009-01-29 17:39:51
【问题描述】:
我有一个包含 TreeView 的 UserControl。我希望用户能够通过 XAML 设置内部 TreeView 控件的属性,但我不知道该怎么做。
我尝试在 UserControl 上为 TreeView 创建一个公共属性,但这仅允许我设置 SelectedItemChanged 触发器。
我想做这样的事情:
<ExampleUserControl>
<ExampleUserControl.TreeView.ItemTemplate>
...
</ExampleUserControl.TreeView.ItemTemplate>
</ExampleUserControl>
或者:
<ExampleUserControl TreeView.ItemsSource="{Binding Foo}" />
我不希望在 UserControl 中为每个 TreeView 属性创建属性,并且我不想强制用户在 C# 中定义控件。
【问题讨论】:
-
您不能在 xaml 标记 (
) 中堆叠属性。而且您可能无法将树视图公开为公共财产;无论如何,这将是糟糕的juju。很可能您需要在用户控件上创建 dp 并使用模板绑定。