如何仅在XAML中创建具有组和扩展器的ListView
?
我已经找到了许多数据绑定的示例,但出于演示/实物模型的目的,我需要在XAML中定义所有组和项。
这是我的ListView
(我意识到GroupItem
控件完全错误(。local:BlockControl
是用作主容器的自定义控件Grid
。
<ListView>
<GroupItem Content="In/Out"/>
<local:BlockControl Inputs="0" Outputs="1" FunctionName="I" ToolTip="Digital Input"/>
<local:BlockControl Inputs="0" Outputs="1" FunctionName="AI" ToolTip="Analog Input"/>
<local:BlockControl Inputs="1" Outputs="1" FunctionName="Q" ToolTip="Digital Output"/>
<local:BlockControl Inputs="1" Outputs="1" FunctionName="AQ" ToolTip="Analog Output"/>
<GroupItem Content="Constants"/>
<local:BlockControl Inputs="0" Outputs="1" FunctionName="0" ToolTip="Digital 0"/>
<local:BlockControl Inputs="0" Outputs="1" FunctionName="1" ToolTip="Digital 1"/>
<GroupItem Content="Local variables"/>
<local:BlockControl Inputs="1" Outputs="1" FunctionName="AM" ToolTip="Analog Marker"/>
<local:BlockControl Inputs="1" Outputs="1" FunctionName="M" ToolTip="Digital Marker"/>
<local:BlockControl Inputs="1" Outputs="1" FunctionName="AM" ToolTip="Analog Marker"/>
<GroupItem Content="Network variables"/>
<local:BlockControl Inputs="0" Outputs="1" FunctionName="NI" ToolTip="Network Digital Input"/>
<local:BlockControl Inputs="0" Outputs="1" FunctionName="NAI" ToolTip="Network Analog Input"/>
<local:BlockControl Inputs="1" Outputs="1" FunctionName="NQ" ToolTip="Network Digital Output"/>
<local:BlockControl Inputs="1" Outputs="1" FunctionName="NAQ" ToolTip="Network Analog Output"/>
</ListView>
您可以这样做。
<ListView>
<!-- Group Item In/Out -->
<Expander Header="In/Out">
<StackPanel>
<local:BlockControl />
<local:BlockControl />
<local:BlockControl />
<local:BlockControl />
</StackPanel>
</Expander>
<!-- Group Item Constants -->
<Expander Header="Constants">
<StackPanel>
<local:BlockControl />
<local:BlockControl />
</StackPanel>
</Expander>
<!-- Group Item Local variables -->
<Expander Header="Local variables">
<StackPanel>
<local:BlockControl />
<local:BlockControl />
<local:BlockControl />
</StackPanel>
</Expander>
<!-- Group Item Network variables -->
<Expander Header="Network variables">
<StackPanel>
<local:BlockControl />
<local:BlockControl />
<local:BlockControl />
<local:BlockControl />
</StackPanel>
</Expander>
</ListView>