gpt4 book ai didi

wpf - 如何动态加载用户控件?

转载 作者:行者123 更新时间:2023-12-03 15:18:49 29 4
gpt4 key购买 nike

如何在窗口中动态加载用户控件(在运行时使用代码)?

最佳答案

我强烈推荐看看Prism ,因为复合用户界面就是它的用途。但是,由于这需要您重构整个应用程序,我也会直接回答您的问题。

如果您想在容器中使用单个用户控件,请将 ContentControl 放入您的 XAML 中,然后设置 Content 属性。如果您使用的是 View 模型,则可以将 Content 绑定(bind)到 View 模型上的 FrameworkElement 属性:

contentControlInstance.Content = new CustomUserControl();

如果您希望列表中有多个控件,请使用 ItemsControl 并将 ObservableCollection<> 分配给 ItemsSource 属性。如果您使用的是 View 模型,则可以将 ItemsSource 绑定(bind)到 View 模型上的 ObservableCollection 属性。

然后您可以从该 ObservableCollection 中添加/删除 View :
private ObservableCollection<FrameworkElement> views = 
new ObservableCollection<FrameworkElement>();

private void Initialize()
{
itemsControl.ItemsSource = views;
}

private void AddView(FrameworkElement frameworkElement)
{
views.Add(frameworkElement);
}

关于wpf - 如何动态加载用户控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1774962/

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