更改 window、Caliburn.Micro、WPF 的特定区域中的数据
Changing the data in a specific area of a window, Caliburn.Micro, WPF
这是我的需求。我认为用户控件是我需要的,但我不确定它是否最好,甚至不确定如何使用它。
我有什么。我的主 window 有一个带有 "help" 菜单的菜单。当您单击帮助时,会打开一个新的 window,我有一列,在左列的顶部有一个 "Major Titles" 的下拉框,下面是一个基于组合框填充的列表框 select离子。这大约是 window 宽度的 25%。所有这些都有效。
当我select列表框中的一个项目页面、contentControl或用户控件显示在右边带有垂直滚动条所以window不需要调整大小,信息我根据列表框 selection 更改的显示将只有文本块、标签、图像等视觉效果。将没有用户与可更改页面的交互只是格式化数据。
解决这个问题的最佳方法是什么?谁能提供一个简单的例子?
我正在考虑使用用户控件并根据 selected 列表框项更改用户控件。
好的,我明白了。在阅读了很多帖子和博客之后。似乎人们有时想让事情变得比实际情况更复杂。
我想要的是window左边1/6的永久列表框。列表框包含 "help subjects" 的字符串名称。在屏幕的右侧 5/6,我添加了一个带 header 的组框,并在组框中添加了一个用户控件。控件的内容绑定到名为 'ActiveView' 的 属性。列表框选择值属性绑定到'SelectedListItem'属性.
当您更改它时设置 'SelectedListItem' 一个方法被调用 'SetActiveControl'。 SetActiveControl 有一个 switch/case,设置如示例中所示:
``Case "Setup":
ActiveView = new SomeSelectionViewModel();
Break;
我在 Views 文件夹内的一个名为 HelpControls 的文件夹中创建了一个用户控件,我还在 ViewModels 中创建了相同的文件夹。我有 类 匹配用户控件,所有内容都绑定在一起。
最终,当您单击列表框项时,将调用关联的 ViewModel,然后用适当的数据填充 window 上的用户控件。
我需要稍后研究,对所有控件使用一个 ViewModel,我知道可以使用 Cal:Model.View = ViewModel 名称来完成。在xaml 控件中。我只是不确定在选择项目时如何调用适当的用户控件视图。无论哪种方式,这都将成为视图优先设计,我想我读过 Caliburn。 Micro 旨在作为 ViewModel 的第一个设计。
这是我的需求。我认为用户控件是我需要的,但我不确定它是否最好,甚至不确定如何使用它。
我有什么。我的主 window 有一个带有 "help" 菜单的菜单。当您单击帮助时,会打开一个新的 window,我有一列,在左列的顶部有一个 "Major Titles" 的下拉框,下面是一个基于组合框填充的列表框 select离子。这大约是 window 宽度的 25%。所有这些都有效。
当我select列表框中的一个项目页面、contentControl或用户控件显示在右边带有垂直滚动条所以window不需要调整大小,信息我根据列表框 selection 更改的显示将只有文本块、标签、图像等视觉效果。将没有用户与可更改页面的交互只是格式化数据。
解决这个问题的最佳方法是什么?谁能提供一个简单的例子?
我正在考虑使用用户控件并根据 selected 列表框项更改用户控件。
好的,我明白了。在阅读了很多帖子和博客之后。似乎人们有时想让事情变得比实际情况更复杂。
我想要的是window左边1/6的永久列表框。列表框包含 "help subjects" 的字符串名称。在屏幕的右侧 5/6,我添加了一个带 header 的组框,并在组框中添加了一个用户控件。控件的内容绑定到名为 'ActiveView' 的 属性。列表框选择值属性绑定到'SelectedListItem'属性.
当您更改它时设置 'SelectedListItem' 一个方法被调用 'SetActiveControl'。 SetActiveControl 有一个 switch/case,设置如示例中所示:
``Case "Setup":
ActiveView = new SomeSelectionViewModel();
Break;
我在 Views 文件夹内的一个名为 HelpControls 的文件夹中创建了一个用户控件,我还在 ViewModels 中创建了相同的文件夹。我有 类 匹配用户控件,所有内容都绑定在一起。
最终,当您单击列表框项时,将调用关联的 ViewModel,然后用适当的数据填充 window 上的用户控件。
我需要稍后研究,对所有控件使用一个 ViewModel,我知道可以使用 Cal:Model.View = ViewModel 名称来完成。在xaml 控件中。我只是不确定在选择项目时如何调用适当的用户控件视图。无论哪种方式,这都将成为视图优先设计,我想我读过 Caliburn。 Micro 旨在作为 ViewModel 的第一个设计。