我希望能够为我的ItemsControl添加巨型按钮。巨型按钮应该包含一个包含多个TextBlocks的Canvas,就像下面的XAML代码中的Button一样:
<DockPanel>
<Button DockPanel.Dock="Right" Click="add_Click">Add</Button>
<ItemsControl Name="itemsControl">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<Button Width="450" Height="150" Margin="5" Name="button1" Background="DarkGreen">
<Canvas>
<TextBlock Canvas.Right="80" Canvas.Bottom="30" Background="RoyalBlue" Width="60" TextAlignment="Center" Name="person1">OR1</TextBlock>
<TextBlock Canvas.Right="10" Canvas.Bottom="30" Background="SkyBlue" Width="60" TextAlignment="Center" Name="person2">Smith</TextBlock>
<TextBlock Canvas.Left="40" Canvas.Bottom="30" Background="Goldenrod" Width="60" TextAlignment="Center" Name="person3">CAM1</TextBlock>
<TextBlock Canvas.Left="110" Canvas.Bottom="30" Background="HotPink" Width="60" TextAlignment="Center" Name="person4">Doe</TextBlock>
</Canvas>
</Button>
</ItemsControl>
</DockPanel>
如何在我的c#add_Click函数中添加像我的XAML中的巨型按钮?我尝试过在网上搜索,但是找不到任何与此类似的东西。
答案 0 :(得分:0)
根据您的目的,您可以选择一些选项。如果你只想&#34;添加&#34;只需少量按钮(2 - 3)即可更改add_Click方法中每个按钮的可见性。
button1.Visibility = Visibility.Collapsed;
这不是最好的选择,但技术上很简单。
更好的方法是build a user control包含你想要的一切。然后在视图模型中创建这些按钮的可观察集合。完成此操作后,您可以bind the item control itemsource to your collection。
最后,在您的代码隐藏中,您可以创建这些按钮的集合,例如
GiantButtonCollection.Add(new GiantButton())
这要好得多(但需要更多的工作/知识)