- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个可选汽车的主列表,以及一个包含所选汽车 ID 的第二个列表。
public class SelectCarsViewModel : BindableBase
{
public IList<Car> Cars = new List<Car>();
public IList<string> SelectedCars = new List<string>();
}
public class Car
{
public string Id {get; set;}
}
我需要在每辆选定的汽车旁边显示一个复选标记。我试图通过开发一个转换器来实现这一点,该转换器采用当前汽车的 ID 和 SelectedCars
列表。我在从 XAML 传递 SelectedCars
列表时遇到困难。我可以传递 SelectCarsPage,但不能传递它的 BindingContext 或它的 SelectedCars 属性。
<ContentPage x:Name="SelectCarsPage">
<ListView ItemsSource=Cars>
<ListView.ItemTemplate>
<DataTemplate>
<Label Text="{Binding Id, Converter={StaticResource IsCarSelected}, ConverterParameter={Binding Source={x:Reference Name=SelectCarsPage}, Path=SelectedCars}}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage>
public class IsCarSelected : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
//parameter is SelectCarsPage and not the SelectedCars list.
//I'd eventually like to get the following to work
var selectedCars = (List<string>)parameter;
return selectedCars.Contains(value.ToString()) ? "√" : "";
}
}
最佳答案
<Label Text="{Binding Id, Converter={StaticResource IsCarSelected}, ConverterParameter={Binding Source={x:Reference Name=SelectCarsPage}, Path=BindingContext.SelectedCars}}"/>
当您执行绑定(bind)引用/源时,您不会绑定(bind)到 BindingContext,而是绑定(bind)到控件本身。如果你想从它的 BindingContext( View 模型)访问一个属性,你必须像这样设置路径:
Path=BindingContext.SelectedCars
这种绑定(bind)命中控件本身,因为它允许获取高度、宽度、可见性等属性的值。如果您需要其 BindingContext 中的属性,请使用 BindingContext 对象,然后定位您需要的属性。
祝你好运!
关于xaml - Xamarin 将父 BindingContext 值传递给转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45464174/
我们遇到了一个 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 的其他可观察值的值,并根据条件启用或禁
我是一名优秀的程序员,十分优秀!