FlowLayout控件与用户控件项模板不绑定
本文关键字:控件 绑定 用户 FlowLayout | 更新日期: 2023-09-27 18:17:27
请您帮忙处理以下事宜…
对于自定义弹出对话框的目的,我希望按照以下方式构建我的WPF应用程序:
Window > Grid > User Control > FlowLayout > Data Template > User Control
…其中大括号表示contains
我有一个模型MyType.cs
,我想在最终用户控件UserControl2.xaml
中显示其内容
我有一个ViewModel ViewMod.cs
这个模型,和一个ViewModel这些ViewModels ListViewModel.cs
我设置FlowLayoutControl的ItemSource属性在UserControl1.cs
编程创建UserControl1并设置它的数据上下文
就我从调试中可以看出,我的ViewModels列表的解析正在工作,但是我不确定如何从MyType返回数据,因为当请求绑定UserControl2返回null
…
如果我的要求不清楚,请向我道歉。这是我第一次尝试使用WPF,任何帮助都将非常感谢解决方案文件
尝试:
public UserControl2() {
InitializeComponent();
Loaded += (sender, args) => {
var obj = (ViewMod)this.DataContext;
if (obj == null || obj.Prop == null)
return;
var d = obj.Prop;
if (d == null)
return;
grd2.Children.Add(new TextBlock { Text = d.Name });
};
}
DataContext
不立即设置。因此,我们使用Loaded
事件并向其添加一个lambda来执行相应的步骤。
附注:
尽管这是有效的,但请搜索并查看一些MVVM示例。虽然没有代码隐藏并不是MVVM的真正要求,但我认为当您可以从xaml中完全完成时,您在代码隐藏中添加网格子节点和其他东西有点过头了。