我正在尝试创建一个多部分结果查看器。当您的批处理作业完成时,您将能够双击打开此屏幕,其中包含有关刚刚运行的批处理作业的基本数据的顶部部分(屏幕的30%,全宽),然后下部的70%将包括一个左对齐的列表框(宽度的20%)和占据其余80%宽度的详细资料窗格。
我希望它的行为方式是,当您在左侧列表框中选择子结果时,右侧面板将填充子结果的详细信息。由于它将变得复杂并且需要可伸缩性,因此我想将每个子结果详细显示面板实现为UserControl。
父ViewModel包含一个
我希望它的行为方式是,当您在左侧列表框中选择子结果时,右侧面板将填充子结果的详细信息。由于它将变得复杂并且需要可伸缩性,因此我想将每个子结果详细显示面板实现为UserControl。
父ViewModel包含一个
IDictionary<Enum.ResultType,IResultPanel>
- 列表框将从该字典的键中填充,并且当您选择选项时,它将从字典中提取IResultPanel对象,该对象将是用户控件。以下是一个示例片段。public partial class SimpleCalcInfoResult : UserControl, IResultPanel
{
private SimpleCalcInfoResultViewModel _viewModel;
public SimpleCalcInfoResult(SimpleCalcInfoResultViewModel viewModel)
{
InitializeComponent();
_viewModel = viewModel;
}
}
IResultPanel 接口是一个空接口,仅用于方便具有公共类型的字典,因为我认为拥有 UserControl 字典太广泛了。
我面临的问题是我无法弄清楚在父控件中使用什么 XAML 来具有可更改的 UserControl 面板。显然,您可以拥有
<local:MyControl> ... </local:MyControl>
作为一个硬编码的用户控件,但是我该如何有一部分XAML可以让我根据选择哪个列表框项来显示哪个用户控件?