gpt4 book ai didi

c# - 如何在 Grid 中对控件进行分组以便在 XAML 中重用?

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:41 25 4
gpt4 key购买 nike

在我的应用程序中,我有一些逻辑上属于一起的控件,并且在不同窗口的许多地方重复使用。控件始终放置在网格内。

我不想在每次使用控件(和后面的代码)时都复制它们,而是希望将它们作为单个 UserControl 在单个 xaml 文件中定义和维护。

我现在有这个:

<Grid>
<Grid.ColumnDefinitions>
[ColumnDefinitions...]
</Grid.ColumnDefinitions>

<Grid.RowDefinitions>
[RowDefinitions...]
</Grid.RowDefinitions>

<StackPanel Grid.Column="0" Grid.Row="0">
<TextBlock Text="Caption" />
<Border Padding="2" x:Name="myBorder">
<TextBox TabIndex="1" x:Name="myTxt"/>
</Border>
</StackPanel>
<ListBox x:Name="myList" Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" Margin="5,50,5,0" Height="100" VerticalAlignment="Top" Visibility="Collapsed" />

[More controls..]
</Grid>

但我想重用这部分:

    <StackPanel Grid.Column="0" Grid.Row="0">
<TextBlock Text="Caption" />
<Border Padding="2" x:Name="myBorder">
<TextBox TabIndex="1" x:Name="myTxt"/>
</Border>
</StackPanel>
<ListBox x:Name="myList" Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" Margin="5,50,5,0" Height="100" VerticalAlignment="Top" Visibility="Collapsed" />

作为单个控件 - 但在使用控件时如何定义 Grid.Column(以某种方式将其作为参数提供)? - 以及如何设置 Grid.RowSpan 值(即使代码已移动到新的 xaml 文件,而不是在网格内定义)?

有什么意见吗?

最佳答案

将它们制作成单独的用户控件,然后将其包含在您的项目中。

如果您使用的是 Blend,那真的很简单,只需选择所有控件,右键单击并制作成用户控件即可。

关于c# - 如何在 Grid 中对控件进行分组以便在 XAML 中重用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3784887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com