gpt4 book ai didi

可以包含其他控件的 C# 用户控件(使用时)

转载 作者:太空狗 更新时间:2023-10-29 21:20:47 25 4
gpt4 key购买 nike

我为 ASP 找到了一些关于此问题的信息,但对我帮助不大......

我想做的是:我想创建一个用户控件,它有一个集合作为属性和按钮来浏览这个集合。我希望能够将此用户控件绑定(bind)到一个集合并在其上显示不同的控件(包含来自该集合的数据)。就像您在 MS Access 中的表单下边缘一样...

更准确地说:

当我在我的应用程序中实际使用该控件时(在我创建它之后),我希望能够在 <myControly> 之间向它添加多个控件(文本框、标签等)和 </mycontrol>如果我现在这样做,我的用户控件上的控件就会消失。

最佳答案

这里是一个做你想做的方法的例子:

首先是代码——UserControl1.xaml.cs

public partial class UserControl1 : UserControl
{
public static readonly DependencyProperty MyContentProperty =
DependencyProperty.Register("MyContent", typeof(object), typeof(UserControl1));


public UserControl1()
{
InitializeComponent();
}

public object MyContent
{
get { return GetValue(MyContentProperty); }
set { SetValue(MyContentProperty, value); }
}
}

以及用户控件的 XAML - UserControl1.xaml

<UserControl x:Class="InCtrl.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300" Name="MyCtrl">
<StackPanel>
<Button Content="Up"/>
<ContentPresenter Content="{Binding ElementName=MyCtrl, Path=MyContent}"/>
<Button Content="Down"/>
</StackPanel>
</UserControl>

最后,使用我们出色的新控件的 xaml:

<Window x:Class="InCtrl.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:me="clr-namespace:InCtrl"
Title="Window1" Height="300" Width="300">
<Grid>
<me:UserControl1>
<me:UserControl1.MyContent>
<Button Content="Middle"/>
</me:UserControl1.MyContent>
</me:UserControl1>
</Grid>
</Window>

关于可以包含其他控件的 C# 用户控件(使用时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/969835/

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