问题标签 [bindableproperty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xamarin - 我可以使用 BindableProperty 在我的 Xamarin ContentView 自定义控件中禁用按钮吗?
我希望能够在我的 Xamarin.Forms 应用程序中禁用自定义标头 ContentView 中的按钮,以便在离开包含它的 ContentPage 之前警告用户他们有未保存的数据。
我为包含页面绑定其视图模型的 HeaderView 创建了一个 BindableProperty。我受到这篇文章的启发:将具有绑定属性的自定义控件添加到您的 Xamarin.Forms 应用程序 ContentView 的 XAML 在这里
ContentView 背后的相关代码在这里
编辑. 视图模型非常简单。
然后我在包含页面中有以下标记
我已经验证了属性 IsSaved 确实改变了它的值。绑定在标签文本中使用时有效。
当我更改 IsSaved 属性的值时,标签将按预期从“true”更改为“false”。然而,这个相同的绑定似乎并没有改变我的自定义标题中的 CanNavigate 值。调试时,OnBackClicked 处理程序始终显示 CanNavigate == true 的值。永远不会输入 propertyChanged 事件 HandleCanNavigatePropertyChanged。如果我应该明确地调用它,我不知道如何。如果我遗漏了什么或使用了错误的方法,我想知道。
编辑 SO中的一些帖子似乎表明将 BindingContext 设置为视图模型可能是问题的一部分。
这是一个这样的例子: ContentView 中的 BindableProperty not working。我不确定应该如何处理视图模型,因为它按预期工作。
xamarin - Xamarin 有条件地显示在派生的 ControlTemplate ContentPresenter 中
没有找到我要找的东西。任何 android / iPhone 类型开发的新手,但在控件模板、样式和使用 xaml 方面具有 WPF 经验。
这是我正在尝试完成但无法完全使用绑定的示例图像。我有一个控制模板,它给了我最上面的图像。顶部的标题/标签和右侧的 3 个按钮,然后是“ContentPresenter”。这些都独立于它们定义的基类。(为帖子简化的控制模板)
现在,顶部示例模板下方的两个图像。它们中的每一个都派生自顶部模板,但它们中的每一个都有自己的内部内容,其中表示内容演示者。如图所示,第一个派生控件始终显示其内容,但在第二个中,它有两个部分。一个总是显示,另一个有条件地显示。
这将代表来自同一控件模板的第一个派生控件。Content Presenter 确实正确地反映了图像显示的内部内容
现在,第二个派生控件
“MyCommonControl”的实际基类有多种
其中一个是数据类型 bool "OkToShowThis"。对于顶部标签和公共按钮区域,它们都分别识别在适当的时候从可见变为隐藏,所以我知道它们有效。
我的问题是从基本控件模板的“ContentPresenter”填充的派生控件。此子控件的“OkToShowThis”没有被刷新。在这种情况下不确定正确的绑定参考。
感谢任何帮助。
解决方案欣赏
感谢Leo Zhu提供的解决方案,我的解释是这样的。最外层的 xaml
指的是创建的类的特定实例。从那里,我可以通过以下方式将特定的内部控制绑定到该对象
现在我已经正确绑定到“Name=myCommonControl”已知的类实例,我可以引用该类实例的任何属性,从而通过
内部控件将按预期动态显示/隐藏。太感谢了。
xamarin - 无法使用 Xamarin Prism 7.1 在部分视图中设置绑定到 BindableProperties
我在 Xamarin 中使用 Prism 7.1 的部分视图功能,其中 ContentView 可以拥有自己的 ViewModel。与视图模型的绑定工作正常。但是,我还想设置一个 BindableProperty。例如,我想在 ContentView 上设置一个 Title 属性。如果 ContentView 没有自己的 ViewModel,则绑定工作正常。如果它确实有自己的 ViewModel,则永远不会发生绑定。
如果我在 Title 的 set 方法上设置断点,它永远不会被命中,并且 Label 控件中的 Title 永远不会被绑定。
xamarin - 使用Xamarin Forms从父页面内的子视图的可绑定属性传递可绑定属性值?
我创建了一个具有 Image 的视图(BlankScreen),并在视图后面的代码中创建了一个 BindableProperty 图标。
查看的 Xaml 代码:
View的代码背后:
然后我将此视图用于 Page,因此我将此视图包含在 BindableProperty Icon 中。
但问题是无法在从父页面视图传递的我的视图上设置聊天图标。
那么我该如何解决这个问题,请帮忙?
xamarin.forms - 自定义条目控件中的 BindableProperty 问题
我正在尝试将可绑定属性添加到 Xamarin.Forms 中的条目。这应该允许我通过为 HasFocus 属性分配一个布尔值来设置/取消设置 Entry 的键盘焦点。我使用 ReactiveUI 作为 MVVM 框架,并且 RaiseAndSetIfChanged 方法隐式引发 INotifyPropertyChanged 事件(在许多其他地方都有效)。
我无法在我的 FocusedEntry 课程中遇到任何断点,也没有看到键盘出现。我错过了什么?
xamarin - 当另一个可绑定属性更改时,如何强制调用可绑定属性的 coerceValue?
我有一个这样的自定义控件:
这是Value
可绑定的属性:
问题是它仅在Value
更改时才被评估,这不起作用:
但这将:
coerceValue
当另一个属性发生变化时(即在它的 中),没有办法执行propertyChanged
吗?
c# - XAML 中的自定义 ItemSource 不可绑定
我创建了一个自定义控件,它应该有一个 ItemSource。所以我添加了一个 BindableProperty 并尝试绑定它,但我总是收到以下错误:
“位置 18:46。找不到 'ItemsSource' 的属性、可绑定属性或事件,或者值和属性之间的类型不匹配。”
绑定:<controls:SeatsView x:Name="Control" ItemSource="{Binding Rows}">
财产:
如果我将它绑定在代码中,就像Control.ItemsSource = v.Rows;
它工作正常......
我也尝试添加一个类型转换器,但它也不起作用
有任何想法吗
c - 如何在 Xamarin Forms 平台上应用行为
我想对我的 xamarin 表单应用程序进行数字计数器向上/向下动画。我在这里找到了代码示例
但是我没有申请。我如何应用此行为类 Xamarin Forms 标签控件。
我尝试了这段代码但没有用。
代码隐藏:
它不适用于我的项目。我想为标签应用计数器动画。
感谢您的支持。
c# - 类的新实例中的属性和先前创建的同一类实例中的属性被引用相同的内存
在这里,我在执行上述代码实例后为类“SourceItems”创建了两个不同的对象,firstsource.Collection.Items 包含 6 个项目,而 secondSource.Collection.Items 也包含相同的 6 个项目。它应该是 3。
请澄清我做错了什么。
我在调试时显示了两个实例值。
xamarin - Xamarin 表单 - 自定义控件绑定问题
很有可能我今天没有喝足够的咖啡,但在过去的几个小时里,我遇到了一个问题。
我创建了一个 CustomEntry 类,它只是一个包含 Entry 和其他一些位的 ContentView,并且我已经向这个类添加了一个新的 BindableProperty,它应该设置它的“Test”属性。
计划是通过这个 bindableproperty 从我的 ViewModel 传递一个字符串值,而不是仅仅硬编码这个值(例如)我想使用绑定从我的 ViewModel 传递一个值(例如 Test="{Binding AStringFromMyViewModel}") -出于某种原因,当我尝试使用绑定时,永远不会设置可绑定属性。
请注意,如果我对值进行硬编码,例如 Test="123",那么它可以正常工作,但如果我像下面所做的那样执行 Test="{Binding AStringFromMyViewModel}",则它不起作用。
这是我所拥有的:
页面 XML
页面支持
查看模型
最后是我的新 CustomEntry 控件 - 我认为您不需要 XML,因为它只是 BindableProperty 不起作用。
提前致谢。