C# 从另一个控件子级更新控件
我在尝试更新曲面元素的组件时遇到一些问题。我不知道我对这个问题的看法是否错误,因为我对这个话题还不熟悉 我的观点由下图表示C# 从另一个控件子级更新控件,c#,xaml,C#,Xaml,我在尝试更新曲面元素的组件时遇到一些问题。我不知道我对这个问题的看法是否错误,因为我对这个话题还不熟悉 我的观点由下图表示 根据菜单中选择的选项,将不同的用户控件作为StackPanel的唯一子控件加载,但我遇到了从加载的用户控件更新Listview的问题,例如:当我保存一个新项目时,我需要为Listview中的项目列表充电,您可以在您的子控件上创建一个事件 public delegate void HandleNAMEOFYOURHANDLEEVENT(); 在你的孩子课堂上 public
根据菜单中选择的选项,将不同的用户控件作为StackPanel的唯一子控件加载,但我遇到了从加载的用户控件更新Listview的问题,例如:当我保存一个新项目时,我需要为Listview中的项目列表充电,您可以在您的子控件上创建一个事件
public delegate void HandleNAMEOFYOURHANDLEEVENT();
在你的孩子课堂上
public event HandleNAMEOFYOURHANDLEEVENT yourInstance;
在你的孩子课堂上使用它
if (!ReferenceEquals(yourInstance, null))
{
yourInstance();
}
您可以像其他事件一样在父级上声明它。MVVM将是一种很好的模式。如果在控件之间传递数据有问题,为什么不在统一数据层之上引入它们呢?考虑这一点: 菜单中有三个单选按钮,每个按钮的
都被选中
属性绑定到相应用户控件的可见性
属性
StackPanel
容纳所有三个UserControls
ListView
绑定到ViewModel的列表
每个用户控件都绑定到列表视图。选择editem
:其中一个控件使用TextBlock
进行只读,另一个控件使用TextBox
进行编辑。第三个将在列表中创建新项目。您必须为每个项目创建ItemTemplate
,或者创建一个UserControl
(因为它们看起来非常相似)并使用DataTemplateSelector
如果您不熟悉MVVM,这是一个良好的开端。对于一个简单的项目,您也可以使用一个现有的框架,如,最好直接使用模式或使用框架?我不想安装不必要的东西,让我的项目变得复杂。我想说的是,自己开始,了解关键的东西(数据上下文、绑定、命令等),但在某个阶段,你会发现预先制作的框架将为你节省大量时间。你是对的。我已经安装了MVVM Light,但文档肯定不好;像这样的教程还有很多需要改进的地方