- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有两个 ContentViews 的 ContentPage,我想将它们每个的绑定(bind)上下文设置为它们各自的 ViewModel(这是我对它们组合的一个庞大的 ViewModel 的首选灵魂)
主页
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage x:Class="MVVMFramework.VVMs.Main.MainPage"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MVVMFramework"
xmlns:nav="clr-namespace:MVVMFramework.Navigation.NavigationHeader"
xmlns:vm="clr-namespace:MVVMFramework.VVMs.Main">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="20" />
<RowDefinition Height="200" />
</Grid.RowDefinitions>
//ContentView For Header
<ContentView Grid.Row="0"
HorizontalOptions="Start"
VerticalOptions="Start">
Content="{Binding NavHeader}"
<!--<ContentView.BindingContext>
<nav:NavigationHeaderViewModel />
</ContentView.BindingContext>-->
</ContentView>
//ContentView For Body of the app
<ContentView Grid.Row="1"
Content="{Binding DisplayedView}"
HorizontalOptions="Center"
VerticalOptions="Center">
<!--<ContentView.BindingContext>
<vm:MainPageViewModel />
</ContentView.BindingContext>-->
</ContentView>
</Grid>
</ContentPage>
最佳答案
回答
您可以使用其 BindingContext
为每个 View 的绑定(bind)指定源。属性如下:BindingContext="{Binding Source = {Your Binding Source}}"
示例应用程序
这是一个示例应用程序,展示了如何从同一 ContentPage 引用多个 View 模型:https://github.com/brminnick/MultipleViewModelSample/
代码
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage x:Class="MVVMFramework.VVMs.Main.MainPage"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MVVMFramework"
xmlns:nav="clr-namespace:MVVMFramework.Navigation.NavigationHeader"
xmlns:vm="clr-namespace:MVVMFramework.VVMs.Main">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="20" />
<RowDefinition Height="200" />
</Grid.RowDefinitions>
<ContentView
Grid.Row="0"
Content="{Binding NavHeader}"
HorizontalOptions="Start"
VerticalOptions="Start"
BindingContext="{Binding Source = {nav:NavigationHeaderViewModel}}"/>
<ContentView
Grid.Row="1"
Content="{Binding DisplayedView}"
HorizontalOptions="Center"
VerticalOptions="Center"
BindingContext="{Binding Source = {vm:MainPageViewModel}}"/>
</Grid>
</ContentPage>
关于xaml - 多个 BindingContext 在同一个 ContentPage 上,两个不同的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50307356/
我们遇到了一个 problem哪里 我们在一个 MDI 工作区中有两个相同窗口的实例,它们绑定(bind)到两个单独的对象模型。 对象模型覆盖了它们的 .Equals 和 .GetHashCode 方
我在 App.Xaml 中定义了一个模板 我在我的主页上使用它 我在代码后面设置了我的 Homepage 的 BindingCon
所以我正在尝试申请 Darin Dimitrov's answer ,但在我的实现中 bindingContext.ModelName 等于“”。 这是我的 View 模型: public class
用BindingContext获取当前对象没有问题,但是当我在datagridview中选择了很多行时怎么办?如何遍历每个对象? 最佳答案 这既不轻松也不有趣。默认情况下不支持绑定(bind)数据网格
我有一个可选汽车的主列表,以及一个包含所选汽车 ID 的第二个列表。 public class SelectCarsViewModel : BindableBase { public ILis
关闭。这个问题需要debugging details .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 3年前关闭。 Improve this question 我有
我一直在研究许多不同的 WPF/MVVM 资源中的数据绑定(bind)技术。我认为我对 DataContext 对象的目的和用途有相当强的把握。但后来我遇到了this article on MVVM
在 WPF 中,我使用了以下的正常组合: xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d=
我有一个 ViewModel使用不会被调用的命令 ( AddToFavoriteCommand )。现在它只处理 CustomPin class 中的命令。 ,而不是 viewModel .我正在设置
我创建了一个从 SQLite 数据库填充的 ListView 。 XML 看起来像这样:
我有 2 个自定义控件 parent-control 和 child-control。我需要 child 代表 parent 执行功能。要求是 child 应该在 parent 边界内使用。 使用示例
我正在编写一个 bindingHandler 并希望创建一个绑定(bind)上下文,它与 current bindingContext 具有相同的父级/父级上下文。阅读:没有额外的绑定(bind)上下
在 Xamarin Forms 中,我创建了一个包含自定义组件的页面,我想像这样提供一个值: 然而,这不起作用。当我使用原始数字而不是 Binding 时,它会起作用。我发现的问题是,我的自定义组件
我有以下 Contentpage.content,我在其中设置了某些绑定(bind)上下文。 在 Post.xaml.cs (ContentView) 中,我尝试以这种方式获
我是 Xamarin.Forms 的新手,我想使用 MVVM 模式和 XAML 创建一个跨平台应用程序。在我的表单项目 (pcl) 中,我想将我的 MainPage 的 BindingContext
我正在编写 Xamarin 应用程序,我发现了我无法跨越的 WPF 之间的差异。 我正在使用 Xamarin Forms Labs 来获取 Repeater 控件。 我有一个 Repeater,它重复
我有一个带有两个 ContentViews 的 ContentPage,我想将它们每个的绑定(bind)上下文设置为它们各自的 ViewModel(这是我对它们组合的一个庞大的 ViewModel 的
我想通过 xaml 而不是后端代码设置 BindingContext。目前我是这样分配的: public partial class MainPage : ContentPage { publ
我需要绑定(bind) Label 的 TextColor。但是 Label 位于 StackLayout 内,BindingContext 为 SelectedArticle,因此绑定(bind)不
我正在尝试创建一个自定义绑定(bind)处理程序,以将基于 Angular 色的访问权限应用于页面上的字段。在自定义处理程序中,它将检查来自 viewModel 的其他可观察值的值,并根据条件启用或禁
我是一名优秀的程序员,十分优秀!