Wpf 包含来自绑定的内容的网格
我有一个基于输入参数生成网格的库。网格可能包含基于输入的不同控件。我想创建一个列表框,其中每个列表项将获得自己生成的网格。这可行吗?我找不到任何显示内容属性(例如Button)的派生面板(网格、StackPanel等)。如何传递数据以构建网格 我假设您有一个控件,该控件通过依赖项属性接收数据。例如,您有类似MyControl.MyData属性的内容,其中MyData是一个依赖属性。在这种情况下,请尝试使用DataTemplate 创建一个ObservableCollection,其中每个项目都是构建网格所需传递的数据 在ListBox的实例上,定义ItemTemplate以使用由控件组成的DataTemplateWpf 包含来自绑定的内容的网格,wpf,xaml,Wpf,Xaml,我有一个基于输入参数生成网格的库。网格可能包含基于输入的不同控件。我想创建一个列表框,其中每个列表项将获得自己生成的网格。这可行吗?我找不到任何显示内容属性(例如Button)的派生面板(网格、StackPanel等)。如何传递数据以构建网格 我假设您有一个控件,该控件通过依赖项属性接收数据。例如,您有类似MyControl.MyData属性的内容,其中MyData是一个依赖属性。在这种情况下,请尝试使用DataTemplate 创建一个ObservableCollection,其中每个项目都是
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<myAssembly:MyControl MyData="{Binding }"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
@XAMeLi的答案几乎是正确的——更好的办法是,每个数据项都可以有不同的模板(或生成的网格)。在扩展了
DataTemplateSelector
的类中,您可以轻松地将适当的网格布局作为单独的控件或动态DataTemplate生成或加载
请参阅本文,以获得一个好的示例: