如何在没有数据绑定的情况下在XAML中创建带有组和扩展程序的"ListView"



如何仅在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>

最新更新